https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110185
Bug ID: 110185 Summary: [14 Regression]: Tens of c++ testsuite crashes for cris-elf with r14-1624-g28db36e2cfca1b Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: hp at gcc dot gnu.org CC: jason at redhat dot com Target Milestone: --- Host: x86_64-pc-linux-gnu Target: cris-elf Created attachment 55289 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55289&action=edit spaceship-p1186.ii With r14-1624-g28db36e2cfca1b, for cris-elf cross from x86_64-linux, I get tens of regressions: --- regress.prev 2023-06-08 03:27:56.000000000 +0200 +++ regress 2023-06-08 08:50:14.425080243 +0200 @@ -0,0 +1,20 @@ +g++.sum g++.dg/cpp2a/spaceship-p1186.C +g++.sum g++.dg/cpp2a/spaceship-synth1.C +g++.sum g++.dg/cpp2a/spaceship-synth10.C +g++.sum g++.dg/cpp2a/spaceship-synth12.C +g++.sum g++.dg/cpp2a/spaceship-synth13.C +g++.sum g++.dg/cpp2a/spaceship-synth14.C +g++.sum g++.dg/cpp2a/spaceship-synth1a.C +g++.sum g++.dg/cpp2a/spaceship-synth2.C +g++.sum g++.dg/cpp2a/spaceship-synth2a.C +g++.sum g++.dg/cpp2a/spaceship-synth2b.C +g++.sum g++.dg/cpp2a/spaceship-synth4.C +g++.sum g++.dg/cpp2a/spaceship-synth5.C +g++.sum g++.dg/cpp2a/spaceship-weak1.C +libstdc++.sum 25_algorithms/minmax/constrained.cc +libstdc++.sum std/time/month_day/1.cc +libstdc++.sum std/time/month_day_last/1.cc +libstdc++.sum std/time/year_month/1.cc +libstdc++.sum std/time/year_month_day/1.cc +libstdc++.sum std/time/year_month_day/4.cc +libstdc++.sum std/time/year_month_day_last/1.cc Checking the .log files, all seem to be similar crashes. Here's the important bits for spaceship-p1186.C: spawn -ignore SIGHUP /x/gccobj/gcc/testsuite/g++/../../xg++ -B/x/gccobj/gcc/testsuite/g++/../../ /x/gcc/gcc/testsuite/g\ ++.dg/cpp2a/spaceship-p1186.C -fdiagnostics-plain-output -nostdinc++ -I/x/gccobj/cris-elf/libstdc++-v3/include/cris-elf\ -I/x/gccobj/cris-elf/libstdc++-v3/include -I/x/gcc/libstdc++-v3/libsupc++ -I/x/gcc/libstdc++-v3/include/backward -I/x/\ gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -std=c++20 -pedantic-errors -Wno-long-long -S -isystem /x/gccobj/cri\ s-elf/./newlib/targ-include -isystem /x/gcc/newlib/libc/include -o spaceship-p1186.s /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C: In function 'void foo(A&, A&, B&, B&, D&, D&, F&, F&, I&, I&)': /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:91:17: error: use of deleted function 'constexpr auto A::operator<=\ >(const A&) const' /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:17:8: note: 'constexpr auto A::operator<=>(const A&) const' is impl\ icitly deleted because the default definition would be ill-formed: /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:16:5: error: no match for 'operator<=>' in '((const A*)this)->A::h \ <=> <anonymous>.A::h' (operand types are 'H' and 'H') /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:84:23: note: candidate: 'template<class T> std::partial_ordering op\ erator<=>(const N&, T&&)' (reversed) /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:84:23: note: template argument deduction/substitution failed: /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:16:5: note: cannot convert '<anonymous>.A::h' (type 'H') to type \ 'const N&' /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:86:23: note: candidate: 'template<class T> std::partial_ordering op\ erator<=>(T&&, const N&)' (reversed) /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:86:23: note: template argument deduction/substitution failed: /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:16:5: note: cannot convert '((const A*)this)->A::h' (type 'H') to\ type 'const N&' /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:17:8: note: changing the return type from 'auto' to a comparison ca\ tegory type will allow the comparison to use 'operator<' and 'operator==' /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C: In member function 'constexpr std::strong_ordering B::operator<=>(\ const B&) const': /x/gcc/gcc/testsuite/g++.dg/cpp2a/spaceship-p1186.C:25:24: internal compiler error: Segmentation fault 0x10e034f crash_signal /x/gcc/gcc/toplev.cc:314 0x7ff4199b1d5f ??? ./signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 0xa0f1de tree_check(tree_node*, char const*, int, char const*, tree_code) /x/gcc/gcc/tree.h:3569 0xa0f1de outer_binding(tree_node*, cxx_binding*, bool) /x/gcc/gcc/cp/name-lookup.cc:7394 0xa0f31a decl_in_scope_p(tree_node*) /x/gcc/gcc/cp/name-lookup.cc:7465 0xb3ca65 check_return_expr(tree_node*, bool*) /x/gcc/gcc/cp/typeck.cc:11177 0xae7baf finish_return_stmt(tree_node*) /x/gcc/gcc/cp/semantics.cc:1244 0x9c96f1 build_comparison_op(tree_node*, bool, int) /x/gcc/gcc/cp/method.cc:1697 0x9caa1e synthesize_method(tree_node*) /x/gcc/gcc/cp/method.cc:1823 0x981fa4 mark_used(tree_node*, int) /x/gcc/gcc/cp/decl2.cc:5700 0x8bec69 build_over_call /x/gcc/gcc/cp/call.cc:10397 0x8c825b build_new_op(op_location_t const&, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node*, tree_node**\ , int) /x/gcc/gcc/cp/call.cc:7154 0xb242ee build_x_binary_op(op_location_t const&, tree_code, tree_node*, tree_code, tree_node*, tree_code, tree_node*, t\ ree_node**, int) /x/gcc/gcc/cp/typeck.cc:4722 0xa31ad2 cp_parser_binary_expression /x/gcc/gcc/cp/parser.cc:10333 0xa327d2 cp_parser_assignment_expression /x/gcc/gcc/cp/parser.cc:10493 0xa35d9d cp_parser_constant_expression /x/gcc/gcc/cp/parser.cc:10786 0xa373b1 cp_parser_initializer_clause /x/gcc/gcc/cp/parser.cc:25524 0xa3962c cp_parser_initializer /x/gcc/gcc/cp/parser.cc:25462 0xa6a4a3 cp_parser_init_declarator /x/gcc/gcc/cp/parser.cc:23027 0xa41dab cp_parser_simple_declaration /x/gcc/gcc/cp/parser.cc:15435 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. compiler exited with status 1 FAIL: g++.dg/cpp2a/spaceship-p1186.C -std=c++20 (internal compiler error: Segmentation fault) Attached is spaceship-p1186.ii. Repeat with cc1plus -fpreprocessed spaceship-p1186.ii -melf -quiet -dumpbase spaceship-p1186.C -dumpbase-ext .C -pedantic-errors -Wno-long-long -std=c++20 -version -fdiagnostics-color=never -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-urls=never -fdiagnostics-path-format=separate-events -fmessage-length=0 -o spaceship-p1186.s Clues: 32-bit, newlib, default "packed" ABI memory layout.