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

            Bug ID: 90171
           Summary: [9 Regression] ICE in build_op_delete_call, at
                    cp/call.c:6630
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          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-alpha20190414 snapshot (r270355) ICEs when compiling the following
testcase extracted from test/SemaCXX/cxx2a-destroying-delete.cpp from the clang
8.0.0 test suite w/ -std=c++17:

namespace std {
  using size_t = decltype(sizeof(0));
  enum class align_val_t : size_t;

  struct destroying_delete_t { };
}

struct A {
  void operator delete(A*, std::destroying_delete_t, std::align_val_t);
  void operator delete(A*, std::destroying_delete_t, std::size_t,
std::align_val_t);
};

void delete_A(A *a) { delete a; }

% g++-9.0.0-alpha20190414 -std=c++17 -c hmayxrtu.cpp
hmayxrtu.cpp: In function 'void delete_A(A*)':
hmayxrtu.cpp:13:30: internal compiler error: in build_op_delete_call, at
cp/call.c:6630
   13 | void delete_A(A *a) { delete a; }
      |                              ^
0x5a373b 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_alpha20190414/work/gcc-9-20190414/gcc/cp/call.c:6630
0x937168 build_delete(tree_node*, tree_node*, special_function_kind, int, int,
int)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/init.c:4849
0x9a7e3e cp_parser_unary_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:8209
0x9802d2 cp_parser_cast_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:9357
0x980b7a cp_parser_binary_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:9460
0x981bb6 cp_parser_assignment_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:9758
0x981f39 cp_parser_expression
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:9925
0x985455 cp_parser_expression_statement
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:11514
0x9912ec cp_parser_statement
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:11310
0x9929e8 cp_parser_statement_seq_opt
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:11657
0x992ac8 cp_parser_compound_statement
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:11611
0x9ac975 cp_parser_function_body
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:22660
0x9ac975 cp_parser_ctor_initializer_opt_and_function_body
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:22711
0x9ad2d6 cp_parser_function_definition_after_declarator
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:27802
0x9ae0ac cp_parser_function_definition_from_specifiers_and_declarator
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:27718
0x9ae0ac cp_parser_init_declarator
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:20297
0x98f245 cp_parser_simple_declaration
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:13541
0x9b432d cp_parser_declaration
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:13238
0x9b4ac1 cp_parser_translation_unit
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:4701
0x9b4ac1 c_parse_file()
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190414/work/gcc-9-20190414/gcc/cp/parser.c:41181

Reply via email to