This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/84447] New: [8 Regression] ICE with inherited deleted constructor and default argument


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

            Bug ID: 84447
           Summary: [8 Regression] ICE with inherited deleted constructor
                    and default argument
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: reichelt at gcc dot gnu.org
  Target Milestone: ---

The following invalid code snippet triggers an ICE on trunk:

=================================================
struct A
{
  template<typename T> A(T, T = 0) = delete;
};

struct B : A
{
  using A::A;
};

B b(0);
=================================================

bug.cc:11:6: internal compiler error: in tsubst_default_argument, at
cp/pt.c:12184
 B b(0);
      ^
0x6384c6 tsubst_default_argument(tree_node*, int, tree_node*, tree_node*, int)
        ../../gcc/gcc/cp/pt.c:12184
0x819794 convert_default_arg(tree_node*, tree_node*, tree_node*, int, int)
        ../../gcc/gcc/cp/call.c:7336
0x81a708 build_over_call
        ../../gcc/gcc/cp/call.c:7949
0x81d803 build_new_method_call_1
        ../../gcc/gcc/cp/call.c:9280
0x81d803 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
        ../../gcc/gcc/cp/call.c:9355
0x81e363 build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
        ../../gcc/gcc/cp/call.c:8883
0x8cc4e3 expand_default_init
        ../../gcc/gcc/cp/init.c:1889
0x8cc4e3 expand_aggr_init_1
        ../../gcc/gcc/cp/init.c:2004
0x8cce49 build_aggr_init(tree_node*, tree_node*, int, int)
        ../../gcc/gcc/cp/init.c:1744
0x881b5f build_aggr_init_full_exprs
        ../../gcc/gcc/cp/decl.c:6188
0x881b5f check_initializer
        ../../gcc/gcc/cp/decl.c:6337
0x8996cc cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
        ../../gcc/gcc/cp/decl.c:7038
0x934883 cp_parser_init_declarator
        ../../gcc/gcc/cp/parser.c:19697
0x93bc78 cp_parser_simple_declaration
        ../../gcc/gcc/cp/parser.c:13038
0x93ca88 cp_parser_block_declaration
        ../../gcc/gcc/cp/parser.c:12863
0x9409e2 cp_parser_declaration
        ../../gcc/gcc/cp/parser.c:12761
0x940df1 cp_parser_declaration_seq_opt
        ../../gcc/gcc/cp/parser.c:12637
0x9410e4 cp_parser_translation_unit
        ../../gcc/gcc/cp/parser.c:4559
0x9410e4 c_parse_file()
        ../../gcc/gcc/cp/parser.c:38860
0xa3f396 c_common_parse_file()
        ../../gcc/gcc/c-family/c-opts.c:1132
Please submit a full bug report, [etc.]

The regression was introduced between 2017-08-19 and 2017-09-02.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]