As reported at: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1539256&group_id=2435
This testcase: ===================================================================== namespace N { struct s { }; template<typename T> struct tplt { void mf(const T &) {} }; tplt<s> &f(); } template<typename T> bool g() { N::s *p = 0; N::f().mf(s(p)); return true; } ==================================================================== ICES with cfg.C: In function 'bool g()': cfg.C:12: internal compiler error: in type_dependent_expression_p, at cp/pt.c:12837 This is with GNU C++ version 4.2.0 20060808 (experimental) (mingw32) It also ICES with gcc-3.4.5 Danny -- Summary: ICE: in type_dependent_expression_p, at cp/pt.c:12837 Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dannysmith at users dot sourceforge dot net GCC build triplet: i386-pc-mingw32 GCC host triplet: i386-pc-mingw32 GCC target triplet: i386-pc-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28705