https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92705
Bug ID: 92705 Summary: [10 Regression] ICE: Segmentation fault (in build_new_op_1) Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: error-recovery, 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++-10.0.0-alpha20191124 snapshot (r278660) ICEs when compiling the following testcase reduced from test/SemaCXX/builtin-ptrtomember-overload-1.cpp from the clang 9.0.0 test suite: struct A {}; struct E {}; struct R { operator E*(); }; struct S { operator E*(); }; struct B1 : R, S { operator A*(); }; void foo1(B1 b1, int E::* pmf) { int i = b1->*pmf; } % g++-10.0.0-alpha20191124 -c gmnbcjli.cpp gmnbcjli.cpp: In function 'void foo1(B1, int E::*)': gmnbcjli.cpp:17:22: internal compiler error: Segmentation fault 17 | int i = b1->*pmf; | ^~~ 0xf36080 crash_signal /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/toplev.c:328 0x839d0e build_new_op_1 /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/call.c:6375 0x83a33a build_new_op(op_location_t const&, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node**, int) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/call.c:6500 0x9f8dd1 build_x_binary_op(op_location_t const&, tree_code, tree_node*, tree_code, tree_node*, tree_code, tree_node**, int) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/typeck.c:4223 0x92d178 cp_parser_binary_expression /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:9645 0x92e026 cp_parser_assignment_expression /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:9780 0x92d869 cp_parser_constant_expression /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:10074 0x92dfcb cp_parser_initializer_clause /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:23032 0x9320b7 cp_parser_initializer /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:22970 0x957b5b cp_parser_init_declarator /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:20678 0x93aa52 cp_parser_simple_declaration /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:13624 0x93c87f cp_parser_declaration_statement /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:13055 0x93d3c4 cp_parser_statement /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:11380 0x93e3c5 cp_parser_statement_seq_opt /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:11742 0x93e492 cp_parser_compound_statement /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:11696 0x953e74 cp_parser_function_body /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:22876 0x953e74 cp_parser_ctor_initializer_opt_and_function_body /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:22927 0x957005 cp_parser_function_definition_after_declarator /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:28597 0x957fe4 cp_parser_function_definition_from_specifiers_and_declarator /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:28513 0x957fe4 cp_parser_init_declarator /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191124/work/gcc-10-20191124/gcc/cp/parser.c:20505