[Bug c++/91098] New: [10 Regression] internal compiler error: tree check: expected var_decl or field_decl or function_decl or type_decl or template_decl, have using_decl in build_deduction_guide, at cp/pt.c:27167
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jul 5 20:11:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91098
Bug ID: 91098
Summary: [10 Regression] internal compiler error: tree check:
expected var_decl or field_decl or function_decl or
type_decl or template_decl, have using_decl in
build_deduction_guide, at cp/pt.c:27167
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
Target Milestone: ---
This was rejected by GCC 9 but gives an ICE with trunk:
// { dg-options "-std=gnu++17" }
template<typename T, bool = true>
struct base;
template<typename T>
struct base<T, true>
{
base(T& t) : p(&t) { }
base(const base&) = delete;
T* p;
};
template<typename T>
struct atomic_ref : base<T>
{
using base<T>::base;
};
int main()
{
int i = 0;
atomic_ref r(i);
}
ctad_ice.cc: In function 'int main()':
ctad_ice.cc:22:17: internal compiler error: tree check: expected var_decl or
field_decl or function_decl or type_decl or template_decl, have using_decl in
build_deduction_guide, at cp/pt.c:27167
22 | atomic_ref r(i);
| ^
0x77ec68 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
/home/jwakely/src/gcc/gcc/gcc/tree.c:9897
0x98461c tree_check5(tree_node*, char const*, int, char const*, tree_code,
tree_code, tree_code, tree_code, tree_code)
/home/jwakely/src/gcc/gcc/gcc/tree.h:3288
0x98461c build_deduction_guide
/home/jwakely/src/gcc/gcc/gcc/cp/pt.c:27167
0x9851e0 do_class_deduction
/home/jwakely/src/gcc/gcc/gcc/cp/pt.c:27399
0x9851e0 do_auto_deduction(tree_node*, tree_node*, tree_node*, int,
auto_deduction_context, tree_node*, int)
/home/jwakely/src/gcc/gcc/gcc/cp/pt.c:27533
0x8c083f cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
/home/jwakely/src/gcc/gcc/gcc/cp/decl.c:7018
0x96376b cp_parser_init_declarator
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:20491
0x945c6f cp_parser_simple_declaration
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:13525
0x947989 cp_parser_declaration_statement
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:12955
0x9485d3 cp_parser_statement
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:11284
0x949500 cp_parser_statement_seq_opt
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:11646
0x9495d7 cp_parser_compound_statement
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:11600
0x962500 cp_parser_function_body
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:22624
0x962500 cp_parser_ctor_initializer_opt_and_function_body
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:22675
0x962d86 cp_parser_function_definition_after_declarator
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:27776
0x963b1e cp_parser_function_definition_from_specifiers_and_declarator
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:27692
0x963b1e cp_parser_init_declarator
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:20261
0x945c6f cp_parser_simple_declaration
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:13525
0x96a402 cp_parser_declaration
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:13222
0x96abaf cp_parser_translation_unit
/home/jwakely/src/gcc/gcc/gcc/cp/parser.c:4690
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
More information about the Gcc-bugs
mailing list