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)