https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70209
Bug ID: 70209 Summary: [5 Regression] ICE in strip_typedefs, at cp/tree.c:1377 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- seen for several packages, fails with the gcc-5-branch on 20160312, not yet checked with a recent trunk: class Vector { public: typedef float EntryType; template <typename S1> void m_fn1(S1); } typedef sfloat_v; template <typename> struct A { typedef Vector::EntryType Ta __attribute__((__may_alias__)); Ta *m_data; void m_fn2(Vector &, Vector &, Vector &, Vector &, Vector &) const; }; template <> void A<int>::m_fn2(sfloat_v &, sfloat_v &, sfloat_v &, sfloat_v &, sfloat_v &p5) const { p5.m_fn1(m_data) $ g++ -c foo.ii foo.ii: In substitution of 'template<class S1> void Vector::m_fn1(S1) [with S1 = <missing>]': foo.ii:14:16: required from here foo.ii:14:16: internal compiler error: in strip_typedefs, at cp/tree.c:1377 p5.m_fn1(m_data) ^ 0x60ca6d strip_typedefs(tree_node*) ../../src/gcc/cp/tree.c:1377 0xd7fa90 strip_typedefs(tree_node*) ../../src/gcc/cp/tree.c:1239 0xd178af canonicalize_type_argument ../../src/gcc/cp/pt.c:6574 0xd178af unify ../../src/gcc/cp/pt.c:18363 0xd1f5eb unify_one_argument ../../src/gcc/cp/pt.c:17001 0xd1eccd type_unification_real ../../src/gcc/cp/pt.c:17072 0xd1e3bf fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool) ../../src/gcc/cp/pt.c:16508 0xce877e add_template_candidate_real ../../src/gcc/cp/call.c:3069 0xce0288 add_template_candidate ../../src/gcc/cp/call.c:3166 0xce0288 add_candidates ../../src/gcc/cp/call.c:5297 0xce3cc3 build_new_method_call_1 ../../src/gcc/cp/call.c:8133 0xce3cc3 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) ../../src/gcc/cp/call.c:8329 0xd52ef2 cp_parser_postfix_expression ../../src/gcc/cp/parser.c:6347 0xd5202d cp_parser_unary_expression ../../src/gcc/cp/parser.c:7439 0xd5176b cp_parser_binary_expression ../../src/gcc/cp/parser.c:8173 0xd512e6 cp_parser_assignment_expression ../../src/gcc/cp/parser.c:8431 0xd543f1 cp_parser_expression ../../src/gcc/cp/parser.c:8585 0xd5641d cp_parser_expression_statement ../../src/gcc/cp/parser.c:9992 0xd55997 cp_parser_statement ../../src/gcc/cp/parser.c:9843 0xd556a4 cp_parser_statement_seq_opt ../../src/gcc/cp/parser.c:10115 Please submit a full bug report, with preprocessed source if appropriate.