On Thursday, 19 September 2019 03:17:12 PDT Giuseppe D'Angelo via Development wrote: > On 18/09/2019 17:33, Thiago Macieira wrote: > >>> We've never required C++11 Standard Library. We've only required the > >>> core > >>> language and the integrity compiler does support it just fine. > >> > >> Not really, it also fails on constexpr: > >> > >> https://codereview.qt-project.org/c/qt/qtbase/+/264550 > > > > No, it has a bug in its existing constexpr implementation. That's > > different. MSVC 2015 officially supported constexpr, but we turned it off > > for them because it was too buggy. > > <devil's advocate> it still means that we can't require core language > conformity from our compilers. And we're talking about C++11's > constexpr, not C++14's.
I've just checked our changelogs and we've never raised the minimum version of GCC from 4.7. That means we can't officially depend on anything that GCC 4.8 added to the Core Language. They are: - attributes - alignas & alignof - inheriting constructors - thread_local - ref qualifiers (4.8.1) Attributes is a non-issue because we have __has_cpp_attribute / QT_HAS_ATTRIBUTE so we end up with macros for most attributes anyway. Alignas and alignof are also non-issues because they're rare enough. Inheriting constructors I'm not sure. It might be getting used without anyone noticing. Ref qualifiers I know the few places that have them are still under #ifdef and thus compat builds. And thread_local cannot be used because of MinGW (GCC and Clang). See the thread on this subject. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel System Software Products _______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development