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

Reply via email to