[Development] INTEGRITY

Allan Sandfeld Jensen kde at carewolf.com
Fri Sep 20 09:07:59 CEST 2019


On Friday, 20 September 2019 00:07:38 CEST Thiago Macieira wrote:
> 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.
> 
I am pretty sure we strongly depend on some of those features now. 
Realistically I don't think we support any compiler older than what the CI 
tests for which I believe is GCC 4.9.

Allan






More information about the Development mailing list