https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123810
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I've tested a variant of this patch with s/flag_reflection/true/g so that it tests the new code paths for all language modes and for C++26 even without -freflection, and it regresses: +FAIL: g++.dg/cpp2a/typedef1.C -std=c++11 (test for warnings, line 37) +FAIL: g++.dg/cpp2a/typedef1.C -std=c++14 (test for warnings, line 37) +FAIL: g++.dg/cpp2a/typedef1.C -std=c++17 (test for warnings, line 37) +FAIL: g++.dg/cpp2a/typedef1.C -std=c++20 (test for warnings, line 37) +FAIL: g++.dg/cpp2a/typedef1.C -std=c++23 (test for warnings, line 37) +FAIL: g++.dg/cpp2a/typedef1.C -std=c++26 (test for warnings, line 37) +FAIL: g++.dg/cpp2a/typedef1.C -std=c++98 (test for warnings, line 37) +FAIL: g++.dg/debug/dwarf2/typedef1.C -std=gnu++11 scan-assembler-times DW_AT_name: "typedef foo<1>::type type"|"typedef foo<1>::type type.."[^\n]*DW_AT_name 1 +FAIL: g++.dg/debug/dwarf2/typedef1.C -std=gnu++14 scan-assembler-times DW_AT_name: "typedef foo<1>::type type"|"typedef foo<1>::type type.."[^\n]*DW_AT_name 1 +FAIL: g++.dg/debug/dwarf2/typedef1.C -std=gnu++17 scan-assembler-times DW_AT_name: "typedef foo<1>::type type"|"typedef foo<1>::type type.."[^\n]*DW_AT_name 1 +FAIL: g++.dg/debug/dwarf2/typedef1.C -std=gnu++20 scan-assembler-times DW_AT_name: "typedef foo<1>::type type"|"typedef foo<1>::type type.."[^\n]*DW_AT_name 1 +FAIL: g++.dg/debug/dwarf2/typedef1.C -std=gnu++23 scan-assembler-times DW_AT_name: "typedef foo<1>::type type"|"typedef foo<1>::type type.."[^\n]*DW_AT_name 1 +FAIL: g++.dg/debug/dwarf2/typedef1.C -std=gnu++26 scan-assembler-times DW_AT_name: "typedef foo<1>::type type"|"typedef foo<1>::type type.."[^\n]*DW_AT_name 1 +FAIL: g++.dg/debug/dwarf2/typedef1.C -std=gnu++98 scan-assembler-times DW_AT_name: "typedef foo<1>::type type"|"typedef foo<1>::type type.."[^\n]*DW_AT_name 1 +FAIL: g++.dg/ext/flexary19.C -std=c++11 (test for warnings, line 141) +FAIL: g++.dg/ext/flexary19.C -std=c++14 (test for warnings, line 141) +FAIL: g++.dg/ext/flexary19.C -std=c++17 (test for warnings, line 141) +FAIL: g++.dg/ext/flexary19.C -std=c++20 (test for warnings, line 141) +FAIL: g++.dg/ext/flexary19.C -std=c++23 (test for warnings, line 141) +FAIL: g++.dg/ext/flexary19.C -std=c++26 (test for warnings, line 141) +FAIL: g++.dg/ext/flexary19.C -std=c++98 (test for warnings, line 141) +FAIL: g++.dg/lto/odr-3 2 (test for LTO warnings, odr-3_0.C line 5) +FAIL: g++.dg/lto/odr-3 2 (test for LTO warnings, odr-3_0.C line 5) +FAIL: g++.dg/lto/odr-3 2 (test for LTO warnings, odr-3_0.C line 5) +FAIL: g++.dg/lto/odr-3 2 (test for LTO warnings, odr-3_0.C line 5) +FAIL: g++.dg/lto/odr-3 2 (test for LTO warnings, odr-3_0.C line 5) +FAIL: g++.dg/lto/odr-3 2 (test for LTO warnings, odr-3_0.C line 5) +FAIL: g++.dg/lto/odr-3 cp_lto_odr-3_0.o-cp_lto_odr-3_1.o link, -O0 -flto -flto-partition=1to1 -fno-use-linker-plugin +FAIL: g++.dg/lto/odr-3 cp_lto_odr-3_0.o-cp_lto_odr-3_1.o link, -O0 -flto -flto-partition=none -fuse-linker-plugin +FAIL: g++.dg/lto/odr-3 cp_lto_odr-3_0.o-cp_lto_odr-3_1.o link, -O0 -flto -fuse-linker-plugin -fno-fat-lto-objects +FAIL: g++.dg/lto/odr-3 cp_lto_odr-3_0.o-cp_lto_odr-3_1.o link, -O2 -flto -flto-partition=1to1 -fno-use-linker-plugin +FAIL: g++.dg/lto/odr-3 cp_lto_odr-3_0.o-cp_lto_odr-3_1.o link, -O2 -flto -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects +FAIL: g++.dg/lto/odr-3 cp_lto_odr-3_0.o-cp_lto_odr-3_1.o link, -O2 -flto -fuse-linker-plugin +FAIL: g++.dg/modules/hello-1_b.C -std=c++17 (test for excess errors) +FAIL: g++.dg/modules/hello-1_b.C -std=c++20 (test for excess errors) +FAIL: g++.dg/modules/hello-1_b.C -std=c++23 (test for excess errors) +FAIL: g++.dg/modules/hello-1_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/hello-2_b.C -std=c++17 (test for excess errors) +FAIL: g++.dg/modules/hello-2_b.C -std=c++20 (test for excess errors) +FAIL: g++.dg/modules/hello-2_b.C -std=c++23 (test for excess errors) +FAIL: g++.dg/modules/hello-2_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/string-1_b.C -std=c++17 (test for excess errors) +FAIL: g++.dg/modules/string-1_b.C -std=c++20 (test for excess errors) +FAIL: g++.dg/modules/string-1_b.C -std=c++23 (test for excess errors) +FAIL: g++.dg/modules/string-1_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/tdef-6_b.C -std=c++17 (test for excess errors) +FAIL: g++.dg/modules/tdef-6_b.C -std=c++20 (test for excess errors) +FAIL: g++.dg/modules/tdef-6_b.C -std=c++23 (test for excess errors) +FAIL: g++.dg/modules/tdef-6_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/xtreme-header-1_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/xtreme-header-2_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/xtreme-header-3_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/xtreme-header-4_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/xtreme-header-5_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/xtreme-header-6_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/xtreme-header-7_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/xtreme-header_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/modules/xtreme-tr1_b.C -std=c++26 (test for excess errors) +FAIL: g++.dg/parse/ctor2.C -std=c++11 (test for excess errors) +FAIL: g++.dg/parse/ctor2.C -std=c++14 (test for excess errors) +FAIL: g++.dg/parse/ctor2.C -std=c++17 (test for excess errors) +FAIL: g++.dg/parse/ctor2.C -std=c++20 (test for excess errors) +FAIL: g++.dg/parse/ctor2.C -std=c++23 (test for excess errors) +FAIL: g++.dg/parse/ctor2.C -std=c++26 (test for excess errors) +FAIL: g++.dg/parse/ctor2.C -std=c++98 (test for excess errors) so more work is needed on it (especially for modules).
