http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56358
--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2013-02-20 12:09:13 UTC --- As of the more recent trunk gcc 4.8.0 20130217 (experimental) these problems have been partially reolved. Template B1 is now accepted, but template B2 still causes problems. The reduced test case is: //---------------------------------- template<class T> struct A {}; template<class T> struct B : A<T> { using A<T>::A; typedef A<T> super_t; // #7 }; //---------------------------------- "7|error: 'A' does not name a type| 7|note: (perhaps 'typename A<T>::A' was intended)"