1 2 3 4 5 6 7 8 9 10 11 12
// { dg-do compile } // Origin: Matt Austern <austern@apple.com> // PR c++/7983: ICE typedef to typename as friend. template<class T> class smart_ptr2 { T* real_ptr; public: typedef typename T::subT td; // { dg-error "previous declaration" } friend class td; // { dg-error "typedef|not name a class" } };