<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div>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.</div><div><br></div><div>Sincerely,</div><div>Sergiy</div><div><br></div><div><font face="Courier New">Index: include/llvm/ADT/StringExtras.h</font></div><div><font face="Courier New">===================================================================</font></div><div><font face="Courier New">--- include/llvm/ADT/StringExtras.h<span class="Apple-tab-span" style="white-space:pre"> </span>(revision 179701)</font></div><div><font face="Courier New">+++ include/llvm/ADT/StringExtras.h<span class="Apple-tab-span" style="white-space:pre">   </span>(working copy)</font></div><div><font face="Courier New">@@ -84,7 +84,7 @@</font></div><div><font face="Courier New">   return std::string(BufPtr, Buffer+11);</font></div><div><font face="Courier New"> }</font></div><div><font face="Courier New"> </font></div><div><font face="Courier New">-static inline std::string utostr(uint64_t X, bool isNeg = false) {</font></div><div><font face="Courier New">+static __declspec(noinline) inline std::string utostr(uint64_t X, bool isNeg = false) {</font></div><div><font face="Courier New">   char Buffer[21];</font></div><div><font face="Courier New">   char *BufPtr = Buffer+21;</font></div><div><font face="Courier New"> </font></div><div><font face="Courier New">Index: lib/Support/Host.cpp</font></div><div><font face="Courier New">===================================================================</font></div><div><font face="Courier New">--- lib/Support/Host.cpp<span class="Apple-tab-span" style="white-space:pre">       </span>(revision 179701)</font></div><div><font face="Courier New">+++ lib/Support/Host.cpp<span class="Apple-tab-span" style="white-space:pre">      </span>(working copy)</font></div><div><font face="Courier New">@@ -119,7 +119,7 @@</font></div><div><font face="Courier New">   // there is no easy way to conditionally compile based on the assembler used.</font></div><div><font face="Courier New">   int rEAX, rEDX;</font></div><div><font face="Courier New">   __asm__ (".byte 0x0f, 0x01, 0xd0" : "=a" (rEAX), "=d" (rEDX) : "c" (0));</font></div><div><font face="Courier New">-#elif defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 160040219</font></div><div><font face="Courier New">+#elif defined(_MSC_FULL_VER) && _MSC_FULL_VER > 160040219</font></div><div><font face="Courier New">   unsigned long long rEAX = _xgetbv(_XCR_XFEATURE_ENABLED_MASK);</font></div><div><font face="Courier New"> #else</font></div><div><font face="Courier New">   int rEAX = 0; // Ensures we return false</font></div><div><br></div>                                    </div></body>
</html>