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).

Reply via email to