http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56243
Bug #: 56243 Summary: [4.8 regression] ICE in tree check: expected field_decl, have identifier_node in fixed_type_or_null, at cp/class.c:6645 Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ppluzhni...@google.com Google ref b/8153611 Looks very similar to PR53816. Test: class A { virtual int String (); }; class F: public A { }; template < typename V > class G { V value; }; class D { template < int N > void Verify(const int (&p1)[N]) const { for (int iter; G < A > *x = 0;) { F& name = x->value; name.String (); } } }; ICE with g++ (GCC) 4.8.0 20130205 (experimental). g++ -c t.ii # ok g++ -c -std=c++11 t.ii t.ii: In member function ‘void D::Verify(const int (&)[N]) const’: t.ii:19:22: internal compiler error: tree check: expected field_decl, have identifier_node in fixed_type_or_null, at cp/class.c:6645 name.String (); ^ 0xc6159a tree_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc/tree.c:8946 0x5cd853 tree_check ../../gcc/tree.h:3669 ...