This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/84447] New: [8 Regression] ICE with inherited deleted constructor and default argument
- From: "reichelt at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 18 Feb 2018 20:56:58 +0000
- Subject: [Bug c++/84447] New: [8 Regression] ICE with inherited deleted constructor and default argument
- Auto-submitted: auto-generated
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.