https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107291
Bug ID: 107291 Summary: [12/13 Regression] ICE in build_comparison_op, at cp/method.cc:1461 Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++ 13.0.0 20221016 snapshot (g:6366e3e8847af98d4728d55951534769d034d02a) ICEs when compiling the following testcase, extracted from test/CXX/class/class.compare/class.compare.default/p1.cpp from the flang 15.0.1 test suite, w/ -std=c++20: struct S4; bool operator==(S4 const &, S4 const &) = default; % g++-13 -std=c++20 -c ean6w24q.cpp ean6w24q.cpp:2:6: error: defaulted 'bool operator==(const S4&, const S4&)' is not a friend of 'S4' 2 | bool operator==(S4 const &, S4 const &) = default; | ^~~~~~~~ ean6w24q.cpp: In function 'constexpr bool operator==(const S4&, const S4&)': ean6w24q.cpp:2:6: internal compiler error: in build_comparison_op, at cp/method.cc:1461 0x6eb1f1 build_comparison_op(tree_node*, bool, int) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/cp/method.cc:1461 0xa8dc5e synthesize_method(tree_node*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/cp/method.cc:1823 0xa34889 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/cp/decl.cc:8594 0xb2ef94 cp_parser_init_declarator /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/cp/parser.cc:22895 0xb06cc9 cp_parser_simple_declaration /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/cp/parser.cc:15284 0xb3a9a1 cp_parser_declaration /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/cp/parser.cc:14970 0xb3b4e9 cp_parser_toplevel_declaration /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/cp/parser.cc:14991 0xb3b4e9 cp_parser_translation_unit /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/cp/parser.cc:5076 0xb3b4e9 c_parse_file() /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/cp/parser.cc:48860 0xc7bab1 c_common_parse_file() /var/tmp/portage/sys-devel/gcc-13.0.0_p20221016/work/gcc-13-20221016/gcc/c-family/c-opts.cc:1247