OSDN Git Service

/cp
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / template / access2.C
1 // { dg-do compile }
2
3 // PR c++/5387
4 // Enforcing access of typename type.
5
6 template <class T> struct A {
7   typename T::X x;                      // { dg-error "this context" }
8   int f() { return T::i; }              // { dg-error "this context" }
9 };
10
11 class B {
12   typedef int X;                        // { dg-error "private" }
13   static int i;                         // { dg-error "private" }
14 };
15
16 int main()
17 {
18   A<B> ab;                              // { dg-message "required" }
19   ab.f();                               // { dg-message "required" }
20 }