https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89194

            Bug ID: 89194
           Summary: [9 regression] build failure with libstdc++ with
                    std=c++2a
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: h2+bugs at fsfe dot org
  Target Milestone: ---

Created attachment 45599
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45599&action=edit
ii generated with -std=c++17

I have a library test case that builds and passes with GCC8 and GCC9 when both
are given -std=c++17. But if I pass -std=c++2a to GCC9 the build fails with
long obscure templates errors in <tuple>. If I however generate intermediate
code in std=c++17 mode and then build this intermediate code in c++2a mode,
everything works so I am convinced this is an issue of the standard library.

I have attached both intermediate files. They both still require gtest, but
maybe someone knowledgeable can already deduce something from the compiler
error and/or the diff of the intermediate files?

Otherwise I can prepare intermediate files without gtest dependency tomorrow.

These compile:
g++9 -std=c++17 -fconcepts -pthread gcc9_stdcpp17.ii libgtest.a libgtest_main.a
g++9 -std=c++2a -fconcepts -pthread gcc9_stdcpp2a.ii libgtest.a libgtest_main.a
This one does not:
g++9 -std=c++2a -fconcepts -pthread gcc9_stdcpp2a.ii libgtest.a libgtest_main.a

GCC version:
g++9 (FreeBSD Ports Collection) 9.0.1 20190127 (experimental)

Reply via email to