<div dir="ltr">4) since you are doing the native windows work, why not just go with mingw(64), and use that  as a native compiler under cygwin?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jun 25, 2014 at 4:14 AM, Chandler Carruth <span dir="ltr"><<a href="mailto:chandlerc@gmail.com" target="_blank">chandlerc@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>(sorry for the cross post, but this issue effects lots of people)</div><div><br></div>Takumi diagnosed a problem when Zach switched LLVM to use compile-time multithreading, but it actually has little to do with the multithreading decisions.<div>

<br></div><div>LLVM is rapidly moving to use more C++11 library features and more multithreading features. I think this is a good thing. However, we're hitting a specific issue on cygwin when bootstrapping: Clang doesn't support the Cygwin __thread implementation (it's different... sadly...). As a consequence, a *huge* amount of libstdc++'s multithreading primitives when bootstrapping, including <mutex>.</div>

<div><br></div><div>I don't think the current situation is tenable -- we really shouldn't be increasingly using C++11 in LLVM while trying to keep all of the multithreading code away from the C++11 standard library. At some point, we will fail because some other part of the library needed <mutex> (or something), and get a really surprising breakage.</div>

<div><br></div><div>I see three options:</div><div>1) Give up on cygwin bootstrapping (I don't really like this, and I suspect there are users of it)</div><div>2) Switch cygwin bootstrap to libc++ and fix libc++ to not require __thread (seems rather gross and lots of work)</div>

<div>3) Implement __thread in cygwin mode ASAP.</div><div><br></div><div>Thoughts? I think we need to address this pretty quickly or we're just going to start running into more failure modes.</div></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>