[Development] [RFCs] Migrate from GCC MinGW to LLVM MinGW

Martin Storsjö martin at martin.st
Thu Jul 20 09:21:17 CEST 2023


On Thu, 20 Jul 2023, Martin Storsjö wrote:

> On Wed, 19 Jul 2023, Thiago Macieira wrote:
>
>> It's also orthogonal, because GCC supports UCRT too, with this patch:
>> https://github.com/msys2/MINGW-packages/raw/
>> 8d9ebb74412c1faabc2a3935bfc705bec19edb9a/mingw-w64-gcc/0006-Windows-New-
>> feature-to-allow-overriding.patch
>
> Indeed UCRT support isn't Clang specific at all - but GCC doesn't really need 
> that patch either.
>
> And conversely, that patch (and a later recently upstreamed version of the 
> same) gives a false sense of being able to switch between msvcrt and UCRT at 
> will; that feature really needs to come with a big disclaimer.

I realized the wrap-up of that mail might have sounded like taking a 
stance for/against either compiler, which it wasn't.

> So TL;DR, pretend that flag doesn't exist in GCC, and just use a toolchain 
> that was bootstrapped for the desired CRT. (The flag is more useful for 
> switching between older variants of the MSVC CRTs that have less hairy ABI 
> differences.)

I.e. use any toolchain, based on either GCC or Clang, bootstrapped with 
the desired CRT choice from the bottom up. But don't try to switch a 
msvcrt-targeting GCC toolchain to target UCRT with that flag (unless 
specifically doing low-level experimentation).

// Martin


More information about the Development mailing list