http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51650
--- Comment #13 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2011-12-22 19:14:38 UTC --- Reduced (it almost identical to the first testcase): struct T; class C { public: typedef ::T T; virtual void E(); static T *m () { static T *d; return d; } }; int fn () { C::m (); } int main() {}