aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/variadic96.C
blob: 189c4ebf7d8e5e94fea2315f866a4388054a2ba5 (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
// Contributed by Dodji Seketeli <dodji@redhat.com>
// Origin: PR c++/41785
// { dg-do compile { target c++11 } }

struct a {};

template < typename T, typename ENCLOSING >
struct base;

template < typename... T >
struct derived
  : public base< T, derived< T... > >...
{};

template < typename... T>
struct base< a, derived< T... > >
{
  typedef derived< T... >
          Derived;
};

int main()
{
  derived< a > instance;
}