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)