[Development] supported compilers in 5.10?

Marc Mutz marc.mutz at kdab.com
Thu Mar 30 13:14:53 CEST 2017


On Thursday 30 March 2017 11:54:42 Olivier Goffart wrote:
> On Donnerstag, 30. März 2017 11:21:35 CEST Marc Mutz wrote:
> > Hi,
> > 
> > Can we drop GCC 4.7 from the list of supported compilers for 5.10? It has
> > a bug that makes writing constexpr classes like QSizePolicy, QUuid, ...
> > very annoying:
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54922
> > 
> > If we can drop MSVC 2013, too, we can start to use char16_t
> > unconditionlly, which will make QStringViewLiteral obsolete, as we can
> > just write u"foo" everywhere. It will also simplify a lot of other code
> > that currently needs to fall back to wchar_t on Windows / MSVC 2013.
> 
> Where is the list of supported compiler? I can't find it.
> 
> If dropping 4.7 and MSVC2013,  can we require GCC 4.8.1? Then we could use
> reference qualifier for function unconditionally and we can avoid doing
> ugly workaround like QNetworkDatagram::makeReply does.

The latest I found was dist/changes-5.7.0, which has

 - Starting with Qt 5.7, Qt requires a C++11 compiler with support for
   C++11 atomics. This affects user code too: Qt headers no longer compile
   with a C++98 compiler. The minimum compiler versions for this release
   are:
     * GCC 4.7
     * Clang 3.4 (found in XCode 5.1)
     * Microsoft Visual Studio 2013

IIRC, we didn't up the minimum compiler versions since then.

dist/changes-5.6.0 is a bit more concrete:

 ****************************************************************************
 *                          Future Direction Notice                         *
 ****************************************************************************

 [...]

 - Qt 5.7 will begin requiring certain C++11 features in order to
   compile. The minimum compiler versions for that release will be:
   * Clang 3.4 (included in XCode 5.1)
   * GCC 4.7
   * Intel C++ Composer XE 2013 SP1 (compiler version 14.0)
   * Microsoft Visual Studio 2013 (compiler version 19.0)

Another reason to remove MSVC 2013: 2015 has atomic + constexpr, afaik, so we 
could finally drop QAtomic* in favour of std::atomic in the implementation and 
deprecate QAtomic*.

Ohhhh, there are soooo many reasons to drop MSVC 2013. I will stop here before 
I get carried away: https://msdn.microsoft.com/en-us/library/hh567368.aspx

Thanks,
Marc

-- 
Marc Mutz <marc.mutz at kdab.com> | Senior Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt, C++ and OpenGL Experts



More information about the Development mailing list