rt_gccstream/gcc/testsuite/g++.dg/parse/typename6.C

18 lines
419 B
C

// { dg-do compile }
// Contributed by Matt Austern <austern at apple dot com>
// PR c++/13407: Gracefully handle keyword typename in base class specifier.
struct A { };
struct B { typedef A Type; };
template <typename T>
struct X :
public typename T::Type // { dg-error "not allowed in this context" }
{ };
X<B> x;
struct C :
public typename A // { dg-error "not allowed outside of templates" }
{ };