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.