1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// { dg-do assemble } // { dg-options "" } // Origin: Mark Mitchell <mark@codesourcery.com> void X(); template <class T> struct J { typedef T X; }; template <class T> struct S { typedef T X; struct I : public J<X> { static X* f(); }; }; S<int> si;