https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97993
Bug ID: 97993
Summary: [11 Regression] ICE tree check: expected tree_list,
have error_mark in tsubst_copy_and_build, at
cp/pt.c:19834
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
Changed between 20200510 and 20200517 :
$ cat z1.cc
template <class T> T a;
template <class T, class A, class=decltype(::new T (A()))> auto foo ();
struct S decltype (foo <int, S>);
$ g++-11-20201122 -c z1.cc
z1.cc:2:44: internal compiler error: tree check: expected tree_list, have
error_mark in tsubst_copy_and_build, at cp/pt.c:19834
2 | template <class T, class A, class=decltype(::new T (A()))> auto foo ();
| ^~~~~~~~~~~~~
0x6520ba tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/tree.c:9810
0x8915f1 tree_check(tree_node*, char const*, int, char const*, tree_code)
../../gcc/tree.h:3317
0x8915f1 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:19834
0x893a4e tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/cp/pt.c:16017
0x893a4e tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/cp/pt.c:16017
0x8a45e1 coerce_template_parms
../../gcc/cp/pt.c:8930
0x8ca363 resolve_nondeduced_context(tree_node*, int)
../../gcc/cp/pt.c:22410
0x905e8f finish_decltype_type(tree_node*, bool, int)
../../gcc/cp/semantics.c:10018
0x847461 cp_parser_decltype
../../gcc/cp/parser.c:15198
0x8441ab cp_parser_simple_type_specifier
../../gcc/cp/parser.c:18262
0x8320ed cp_parser_type_specifier
../../gcc/cp/parser.c:18038
0x832d86 cp_parser_decl_specifier_seq
../../gcc/cp/parser.c:14584
0x8339f1 cp_parser_simple_declaration
../../gcc/cp/parser.c:13841
0x861342 cp_parser_declaration
../../gcc/cp/parser.c:13659
0x861cf8 cp_parser_translation_unit
../../gcc/cp/parser.c:4806
0x861cf8 c_parse_file()
../../gcc/cp/parser.c:44613
0x9d63a2 c_common_parse_file()
../../gcc/c-family/c-opts.c:1198