[Development] Dropping MinGW support in Qt 6 (Was: HEADS-UP: QStringLiteral)

Kevin Kofler kevin.kofler at chello.at
Thu Aug 22 02:17:17 CEST 2019


Thiago Macieira wrote:
> The same code compiled with the GCC/MinGW 8.2 that I have on my openSUSE
> system. (I'd have tested GCC/MinGW on Windows, but the terminal and/or
> bash refuse to paste text) I don't know when GCC implemented the
> functionality.

Looks like it already works with 7.3.0:
[kevin at desktop64 ~]$ cat >mingw-tls-test.cc <<EOF
> struct S { S(); ~S(); };
> 
> void f()
> {
>     thread_local S s;
> }
> EOF
[kevin at desktop64 ~]$ x86_64-w64-mingw32-g++ --version
x86_64-w64-mingw32-g++ (GCC) 7.3.0 20180125 (Fedora MinGW 7.3.0-1.fc28)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[kevin at desktop64 ~]$ x86_64-w64-mingw32-g++ -O2 -c mingw-tls-test.cc
[kevin at desktop64 ~]$ ls -l mingw-tls-test.o
-rw-rw-r-- 1 kevin kevin 1323 22. Aug 01:56 mingw-tls-test.o

(Obviously, this does not link, because there are no implementations of the 
constructor and destructor and no main function.)

In any case, it is good news that this seems to be solved already, because:

> So let me instead change my request:
> Can we require GCC 8 for MinGW for Qt 5.15?

This is a much more reasonable request than the original one.

For what it's worth, the oldest still supported Fedora release (Fedora 29) 
has a cross-MinGW-w64 GCC 8.3.0. (My machine with 7.3.0 is out of date and 
scheduled (by me) to be upgraded tomorrow, so you're lucky that I was still 
able to easily test that version today. ;-) ) So requiring GCC 8 should be 
fine from our side (even though it looks like GCC 7 would be enough, maybe 
even an earlier version).

On the other hand, dropping MinGW support entirely would be a really bad 
idea IMHO, considering that Visual C++ does not support cross-compilation 
and also that there seems to be no non-buggy version of Visual C++ available 
at this time. (You want to get rid of VC++2015 for being unsupported and 
VC++2017 for being buggy, yet also cannot recommend VC++2019 due to new code 
generation bugs.) For me, it would mean that I would no longer be able to 
build my Qt code for Windows with the current upstream Qt and would have to 
either stick to an old Qt or patch it. So please keep MinGW support (with a 
reasonable minimum GCC version requirement, as discussed above)!

        Kevin Kofler



More information about the Development mailing list