<div dir="ltr"><div>(It also has the very nice feature of using lld on windows, which links muuuuch faster than bfd / gold, which <br></div><div>could be useful for reducing CI times)</div><div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><font size="2" face="arial, helvetica, sans-serif" color="#134f5c"><a href="http://www.jcelerier.name" target="_blank"></a></font></div></div></div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 20, 2020 at 9:27 PM Jean-Michaël Celerier <<a href="mailto:jeanmichael.celerier@gmail.com">jeanmichael.celerier@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">> 
The big problem I see on Windows is unfortunately not the C++ standard <br>
library, but the C standard library. MinGW defaults to crtdll, the one from <br>
MSVC 6, which is not C99-compliant (MSVC 6 is from 1998 after all). A better <br>
alternative exists in the form of the Universal CRT, but that only comes by <br>
default with Windows 10, so we'd need to drop support for 8.1 -- have we done <br>
that? -- and recompile GCC and/or LLVM so they ask the linker to link to ucrt.<div><div dir="ltr"><div dir="ltr"><div><br></div><div><a href="https://github.com/mstorsjo/llvm-mingw" target="_blank">https://github.com/mstorsjo/llvm-mingw</a> can be made to target ucrt; it even has <br></div><div>releases: <a href="https://github.com/mstorsjo/llvm-mingw/releases/tag/20201020" target="_blank">https://github.com/mstorsjo/llvm-mingw/releases/tag/20201020</a></div><div><br></div><div>As a data point, I've been using this toolchain for my own stuff for a couple years now <br></div><div>and it works really well, though I only exercise qtbase/qtdeclarative/couple of smaller libs.</div><div><br></div><div>All the best,</div><div>Jean-Michaël<br></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 20, 2020 at 5:09 PM Thiago Macieira <<a href="mailto:thiago.macieira@intel.com" target="_blank">thiago.macieira@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Friday, 20 November 2020 00:09:46 PST Oliver Wolff wrote:<br>
> The question is not about having one more supported Windows<br>
> configuration. We do not have the resources to add more and more<br>
> configurations to support, so it's more a "replace mingw for Windows<br>
> with something else" situation. As there seems to be a need for an open<br>
> alternative, it looks like we cannot/should not go the clang-cl way, but<br>
> clang-mingw if we replace mingw with a clang toolchain.<br>
<br>
That is not an option. We must have one MinGW configuration.<br>
<br>
We can choose which compiler and which version thereof, especially if the <br>
official MinGW comes with an old GCC. If we think Clang + libcompiler-rt + <br>
libc++ is a better solution for Windows, then we should explore it and even <br>
make it the default. But unless we do it RIGHT NOW, we will need an overlap <br>
period with a libstdc++ MinGW, due to ABI break.<br>
<br>
The big problem I see on Windows is unfortunately not the C++ standard <br>
library, but the C standard library. MinGW defaults to crtdll, the one from <br>
MSVC 6, which is not C99-compliant (MSVC 6 is from 1998 after all). A better <br>
alternative exists in the form of the Universal CRT, but that only comes by <br>
default with Windows 10, so we'd need to drop support for 8.1 -- have we done <br>
that? -- and recompile GCC and/or LLVM so they ask the linker to link to ucrt.<br>
<br>
-- <br>
Thiago Macieira - thiago.macieira (AT) <a href="http://intel.com" rel="noreferrer" target="_blank">intel.com</a><br>
  Software Architect - Intel DPG Cloud Engineering<br>
<br>
<br>
<br>
_______________________________________________<br>
Development mailing list<br>
<a href="mailto:Development@qt-project.org" target="_blank">Development@qt-project.org</a><br>
<a href="https://lists.qt-project.org/listinfo/development" rel="noreferrer" target="_blank">https://lists.qt-project.org/listinfo/development</a><br>
</blockquote></div>
</blockquote></div>