18 lines
419 B
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" }
|
|
{ };
|