<div dir="rtl"><div dir="ltr"><div dir="ltr">I committed these patches to the mingw toolchain:</div><div dir="ltr"><br></div><div dir="ltr">r241241 - Support mingw-w64 and <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__mingw.org&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=MPfkUbaFMrma-0B8lC3zFpKyJBOtfCelEMt9dJPCfzM&s=QyGqwhY4aqHDlYYi2lKLWI0jke1VzLatghP-vhVsCkA&e=">mingw.org</a> toolchains at any install location.</div><div dir="ltr">r241432 - Teach mingw toolchain the msys2 mingw-w64 distribution C++ dirs.‏</div><div dir="ltr">r241485 - Support -pthread in mingw toolchain.</div><div dir="ltr">r242121 - Add support for -fuse-ld= in the mingw toolchain driver.</div><div dir="ltr">r242150 - Support mingw-w64 toolchain on openSUSE and likely other Linuxes</div><div dir="ltr">r242660 - Support mingw toolchain include and lib directories on Arch Linux.‏</div><div dir="ltr">r242662 - Fix typo found by Joerg Sonnenberger.</div><div dir="ltr">r242667 - Remove erroneous space in "lib64" string constant.</div><div dir="ltr">r242766 - Fix mingw toolchain to honor sysroot on Linux and add tests.‏</div><div dir="ltr">r243098 - Add extensive tests for the mingw toolchain and remove trailing slash from Arch.‏</div><div dir="ltr">r243101 - Try to appease clang buildbot by forcing libstdc++ in mingw.cpp test.</div><div dir="ltr">r243105 - Apparently some of the bots add .svn dirs inside the test/Driver/Inputs</div><div dir="ltr">r243144 - Base the sys-root/mingw/include path on sysroot and not on /usr</div><div dir="ltr">r243153 - Select the highest version of the mingw toolchain found using Generic_GCC::GCCVersion</div><div dir="ltr"><br></div><div dir="ltr">Reid Kleckner also committed:</div><div dir="ltr">r242905 - [mingw] Add support for -rtlib option and -stdlib option to the mingw driver</div><div><br></div></div></div><div class="gmail_extra"><div dir="ltr"><br><div class="gmail_quote">2015-07-25 1:21 GMT+03:00 Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 .8ex;border-left:1px #ccc solid;border-right:1px #ccc solid;padding-left:1ex;padding-right:1ex"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Fri, Jul 24, 2015 at 7:08 AM, Yaron Keren <span dir="ltr"><<a href="mailto:yaron.keren@gmail.com" target="_blank">yaron.keren@gmail.com</a>></span> wrote:<br></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="rtl"><div dir="ltr">Hi Richard,</div><div dir="ltr"><br></div><span class=""><div dir="ltr">Both issues implemented in r<span style="font-size:12.8000001907349px">243098, r</span><span style="font-size:12.8000001907349px">243101, r</span><span style="font-size:12.8000001907349px">243105 per your suggestions.</span></div></span></div></blockquote><div><br></div><div>Yaron, can you give a complete list of the additional revisions that should be integrated to the branch, including today's changes? Thanks!</div><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="rtl"><div dir="ltr"><span style="font-size:12.8000001907349px">It may be of general interest that two </span><span style="font-size:12.8000001907349px">builders: sanitizer-x86_64-linux-fast</span><span style="font-size:12.8000001907349px"> and </span><span style="font-size:12.8000001907349px">clang-x86_64-ubuntu-gdb-75 add .svn entries in some (all?) directories which may cause code that does not expect them there to malfunction.</span></div><span><font color="#888888"><div dir="ltr"><span style="font-size:12.8000001907349px"><br></span></div><div dir="ltr"><span style="font-size:12.8000001907349px">Yaron</span></div><div dir="ltr"><span style="font-size:12.8000001907349px"><br></span></div></font></span></div><div><div><div class="gmail_extra"><div dir="ltr"><br><div class="gmail_quote">2015-07-24 2:25 GMT+03:00 Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 .8ex;border-left:1px #ccc solid;border-right:1px #ccc solid;padding-left:1ex;padding-right:1ex"><div class="gmail_extra"><div class="gmail_quote"><span>On Thu, Jul 23, 2015 at 2:56 PM, Yaron Keren <span dir="ltr"><<a href="mailto:yaron.keren@gmail.com" target="_blank">yaron.keren@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="rtl"><div dir="ltr">Hi Richard,</div><div dir="ltr"><br></div><div dir="ltr"><span style="font-size:12.8000001907349px">r242660 + </span><span style="font-size:12.8000001907349px">r242666 + </span><span style="font-size:12.8000001907349px">r242667</span><span style="font-size:12.8000001907349px"> are </span>the current mingw toolchain, should be tested together.</div><div dir="ltr">The code test covarage is not complete:</div><div dir="ltr"><br></div><div dir="ltr">1) To make the toolchain work automatically, the first stage is detection of the mingw installation dir in MinGW::findGccLibDir(). This part is not covered by any tests as it probes several file system directories outside the LLVM tree using llvm::sys::fs::directory_iterator, we can't control that using test infrastructure. </div></div></blockquote><div><br></div></span><div>Please take a look at how other targets handle this (see the various sysroot trees under test/Driver/Inputs). If the same approach can't work here, we should figure out how to fix that. The MinGW driver support should be testable without having a MinGW toolchain installed, otherwise the cost imposed on people maintaining the driver and Clang in general is too high.</div><span><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="rtl"><div dir="ltr">The most reliable way to test this toolchain would be to have a mingw toolchain installed on various bots and run tests using it. I'm open to suggestions how to test MinGW::findGccLibDir() otherwise.</div><div dir="ltr"><br></div><div dir="ltr">2) The second stage generates the C and C++ include directories based on GccLibDir found in stage one. This *is* covered by the tests introduced in <span style="font-size:12.8000001907349px">r242666 by injecting </span>GccLibDir with --sysroot argument (instead of probing the file system) for both Windows and Linux.<br></div><div dir="ltr"><br></div><div dir="ltr">MinGW::Arch has a trainling slash as a small optimization so Arch could be concatenated into a path instead of using sys::path::append. If you find that confusing I can remove the trailing slash and use sys::path::append calls instead, it would not matter much.</div></div></blockquote><div><br></div></span><div>There should at least be a comment explaining this in the class definition. But generally, using the higher-level facilities such as sys::path::append should be preferred over manually inserting separators into paths, so I'd prefer you did that. Performance microoptimizations are not especially relevant for the driver, since it's such a tiny proportion of the cost of a compilation.</div><div><div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="rtl"><span><font color="#888888"><div dir="ltr">Yaron</div></font></span><div><div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div class="gmail_extra"><div dir="ltr"><br><div class="gmail_quote">2015-07-24 0:09 GMT+03:00 Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="gmail_quote"><span>On Thu, Jul 23, 2015 at 12:30 PM, Richard Smith <span dir="ltr"><<a href="mailto:metafoo@gmail.com" target="_blank">metafoo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Yes, we should get these changes into 3.7. I'll look over the patches later today.</p></blockquote></span><div>I'm not very happy about applying patches with no tests to the branch, but, reluctantly, approved.</div><div><br></div><div>Yaron: please add some tests for r242660 and r242667 to trunk. (I also find it very weird that the MinGW::Arch member has a trailing slash. Is there a good reason for that?)<br></div><div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">On 23 Jul 2015 9:56 am, "Hans Wennborg" <<a href="mailto:hans@chromium.org" target="_blank">hans@chromium.org</a>> wrote:</p><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>+cfe-dev to keep it on the list, and Richard<br>
<br>
This sounds like a reasonable thing to merge.<br>
<br>
Richard, what's your opinion as an owner?<br>
<br>
<br></span><span>
On Thu, Jul 23, 2015 at 9:48 AM, Martell Malone <<a href="mailto:martellmalone@gmail.com" target="_blank">martellmalone@gmail.com</a>> wrote:<br>
> I almost forgot<br>
><br>
> Yaron also fixed all the different combination of linux host/distros<br>
> targetting mingw with theses 3.<br>
> I have a feeling we will have people hitting the mailing list about come the<br>
> 3.7 release if their distro isn't working.<br>
><br>
> clang<br>
><br>
> r242660  Support mingw toolchain include and lib directories on Arch Linux.<br>
> r242667  Remove erroneous space in "lib64" string constant.<br>
> r242766  Fix mingw toolchain to honor sysroot on Linux and add tests.<br>
><br>
> Again as i said I've no idea what the process is or what we can do here.<br>
> Hoping you can fill me in on the details<br>
><br>
> Kind Regards<br>
> Martell<br>
><br>
><br>
><br></span>
> On Thu, Jul 23, 2015 at 5:44 PM, Martell Malone <<a href="mailto:martellmalone@gmail.com" target="_blank">martellmalone@gmail.com</a>><div><div><br>
> wrote:<br>
>><br>
>> Hi Hans :)<br>
>><br>
>> rnk and I were talking to me about the possibility of getting the mingw<br>
>> driver work back ported into the 3.7 branch.<br>
>><br>
>> I read the thread where you branched the 3.7 release you said that if<br>
>> anyone has a request to have patches merged they should contact you directly<br>
>><br>
>> When the branch was made we were in the middle of crushing the final bugs<br>
>> in the MINGW Driver.<br>
>> I had a total of about 9 patches merged but 2 missed the window<br>
>> unfortunately.<br>
>> 1 was for compiler-rt and 1 was for clang<br>
>><br>
>> clang<br>
>> r242905  Add support for -rtlib option and -stdlib option to the mingw<br>
>> driver<br>
>><br>
>> compiler-rt<br>
>> r242539  compiler-rt: add support for mingw-w64 in builtins<br>
>> r242540  Add missing chkstk.S files from r242539<br>
>><br>
>> (r242540 is here because only half the patch was committed initially)<br>
>><br>
>> These 2(now 3) patches complete my series and fixes everything to have a<br>
>> clang toolchain with mingw-w64 without needing gcc.<br>
>><br>
>> I don't know what the process is for back porting or how you feel about<br>
>> these patches but I said I would email you about it an see where we can go<br>
>> from here :)<br>
>><br>
>> Kind Regards<br>
>> Martell<br>
><br>
><br>
</div></div></blockquote></div>
</blockquote></div></div></div><br></div></blockquote></div></div></div></div></div></div>
</blockquote></div></div></div><br></div></blockquote></div></div></div>
</div></div></blockquote></div></div></div><br></div></blockquote></div></div></div>