[LLVMdev] Patch to compile LLVM with MSVC 2010

Sergiy Migdalskiy
2013-04-17T18:36:55Z

In order to get llvm to compile on Windows with MSVC 10, I have to disable
inline on utostr to avoid internal compiler failure, and disable _xgetbv call in
OsSupportsAVX because it's only defined in MSVC 2012 compiler. The first
patch (noinline) is known for many months now. I'm a casual llvm user, and
don't know the proper channels to go through to submit a patch. Could
someone tell me, where do I submit patches like this one below? Or maybe why I
shouldn't try to do it.
Sincerely,Sergiy
Index:
include/llvm/ADT/StringExtras.h===================================================================---
include/llvm/ADT/StringExtras.h	(revision 179701)+++
include/llvm/ADT/StringExtras.h	(working copy)@@ -84,7 +84,7 @@   return
std::string(BufPtr, Buffer+11); } -static inline std::string utostr(uint64_t X,
bool isNeg = false) {+static __declspec(noinline) inline std::string
utostr(uint64_t X, bool isNeg = false) {   char Buffer[21];   char *BufPtr =
Buffer+21; Index:
lib/Support/Host.cpp===================================================================---
lib/Support/Host.cpp	(revision 179701)+++ lib/Support/Host.cpp	(working copy)@@
-119,7 +119,7 @@   // there is no easy way to conditionally compile based on the
assembler used.   int rEAX, rEDX;   __asm__ (".byte 0x0f, 0x01, 0xd0"
: "=a" (rEAX), "=d" (rEDX) : "c" (0));-#elif
defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 160040219+#elif
defined(_MSC_FULL_VER) && _MSC_FULL_VER > 160040219   unsigned long
long rEAX = _xgetbv(_XCR_XFEATURE_ENABLED_MASK); #else   int rEAX = 0; //
Ensures we return false

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20130417/6a8c8691/attachment.html>