summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.robertl/eb37.C
blob: 185b632f8249d147e5a4ed3f8926b4a3a5526ced (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// { dg-do assemble  }
template<class T>
struct A {
    typedef T T1;
};

template<class T>
struct B {
    typedef T T2;
};

template<class T>
struct C {
};

template<class E>
C<typename E::T2::T1>
foo (E)
{
    return C<typename E::T2::T1>();
}

void test()
{
    foo(B<A<int> >());
}