G++ 3.4.x ICEs on: extern double foo (double); template <class T> struct A { T y () const; };
typedef A <float> B; template <unsigned int T> struct C { C (); B c; float r; }; template <unsigned int T> C<T>::C () { r = foo (c.y); } 3.2.x accepted this and CVS HEAD issues error: not enough type information -- Summary: ICE in instantiate_type Product: gcc Version: 3.4.4 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jakub at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19812