OSDN Git Service

PR c++/38485
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / parse / lookup5.C
1 // { dg-do compile }
2
3 struct A {};
4
5 template <class T> struct B
6 {
7   T a, b;
8   B() {}
9   B(T x, T y) : a(x), b(y) {}
10   template <class U> operator B<U> () const
11   { return B<U>((U)(this->a), (U)(this->b)); }
12 };
13
14 template <class T> struct C : public B<int>
15 {
16   T *c;
17   inline T & operator *() { return *c; }
18 };
19
20 template <class T> struct D : virtual public C<T> { };
21
22 void
23 foo (D<A> x)
24 {
25   *x;
26 }