https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88969

            Bug ID: 88969
           Summary: ICE in build_op_delete_call, at cp/call.c:6509
           Product: gcc
           Version: 9.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++-9.0.0-alpha20190120 snapshot (r268107) ICEs when compiling the following
snippet reduced from test/SemaCXX/cxx2a-destroying-delete.cpp from clang 7.0.1
test suite:

namespace std {
  struct destroying_delete_t {
    struct __construct { explicit __construct() = default; };
  };
}

namespace delete_selection {
  struct B {
    void operator delete(void*) = delete;
    void operator delete(B *, std::destroying_delete_t) = delete;
  };
  void delete_B(B *b) { delete b; }
}

% g++-9.0.0-alpha20190120 -c mi9qy2yt.cpp
mi9qy2yt.cpp: In function 'void
delete_selection::delete_B(delete_selection::B*)':
mi9qy2yt.cpp:12:32: internal compiler error: in build_op_delete_call, at
cp/call.c:6509
   12 |   void delete_B(B *b) { delete b; }
      |                                ^
0x5b81f3 build_op_delete_call(tree_code, tree_node*, tree_node*, bool,
tree_node*, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/call.c:6509
0x9454d8 build_delete(tree_node*, tree_node*, special_function_kind, int, int,
int)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/init.c:4825
0x9b6036 cp_parser_unary_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:8196
0x98eb02 cp_parser_cast_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:9345
0x98f3da cp_parser_binary_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:9447
0x990546 cp_parser_assignment_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:9744
0x99091a cp_parser_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:9911
0x993e95 cp_parser_expression_statement
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:11449
0x99f578 cp_parser_statement
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:11245
0x9a0c38 cp_parser_statement_seq_opt
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:11592
0x9a0d18 cp_parser_compound_statement
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:11546
0x9bab16 cp_parser_function_body
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:22530
0x9bab16 cp_parser_ctor_initializer_opt_and_function_body
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:22567
0x9bb3f0 cp_parser_function_definition_after_declarator
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:27630
0x9bc1d4 cp_parser_function_definition_from_specifiers_and_declarator
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:27546
0x9bc1d4 cp_parser_init_declarator
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:20205
0x99d518 cp_parser_simple_declaration
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:13476
0x9c2cdd cp_parser_declaration
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:13173
0x9c389c cp_parser_declaration_seq_opt
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:13049
0x9c389c cp_parser_namespace_body
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/cp/parser.c:19252

Reply via email to