https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77496
Bug ID: 77496
Summary: ICE in instantiate_type, at cp/class.c:8270
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: bernd.edlinger at hotmail dot de
Target Milestone: ---
this invalid C++ template creates an ICE:
cat test.cc
template <class x>
class z : x
{
public:
bool zz (int) { return false; }
int f(bool z) { return zz ? : 0; }
};
class t
{
};
int
main()
{
z<t> x;
return x.f(0);
}
g++ test.cc
test.cc: In instantiation of 'int z<x>::f(bool) [with x = t]':
test.cc:16:15: required from here
test.cc:6:29: internal compiler error: in instantiate_type, at cp/class.c:8270
int f(bool z) { return zz ? : 0; }
~~~^~~~~
0x6f9bcf instantiate_type(tree_node*, tree_node*, int)
../../gcc-7-20160904/gcc/cp/class.c:8267
0x62eb27 perform_implicit_conversion_flags(tree_node*, tree_node*, int, int)
../../gcc-7-20160904/gcc/cp/call.c:9763
0x63d0f6 build_conditional_expr_1
../../gcc-7-20160904/gcc/cp/call.c:4811
0x63ef8c build_conditional_expr(unsigned int, tree_node*, tree_node*,
tree_node*, int)
../../gcc-7-20160904/gcc/cp/call.c:5237
0x77cecb build_x_conditional_expr(unsigned int, tree_node*, tree_node*,
tree_node*, int)
../../gcc-7-20160904/gcc/cp/typeck.c:6279
0x6a0805 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc-7-20160904/gcc/cp/pt.c:16822
0x695e54 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc-7-20160904/gcc/cp/pt.c:15936
0x6948ed tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc-7-20160904/gcc/cp/pt.c:15238
0x693d48 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc-7-20160904/gcc/cp/pt.c:15419
0x6d64e4 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc-7-20160904/gcc/cp/pt.c:15213
0x6d64e4 instantiate_decl(tree_node*, int, bool)
../../gcc-7-20160904/gcc/cp/pt.c:22159
0x6dd29b instantiate_pending_templates(int)
../../gcc-7-20160904/gcc/cp/pt.c:22276
0x71feaa c_parse_final_cleanups()
../../gcc-7-20160904/gcc/cp/decl2.c:4617
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.