[Bug c++/107291] New: [12/13 Regression] ICE in build_comparison_op, at cp/method.cc:1461

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Mon Oct 17 11:17:37 GMT 2022


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


More information about the Gcc-bugs mailing list