aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/alias-decl-dr1286.C
blob: 0c545c735f062c4dbd0575bbd48dfb1fe09b87d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
// DR 1286: An alias template can be equivalent to an underlying template.
// { dg-do compile { target c++11 } }

template <class T, class U> struct same;
template <class T> struct same<T,T> {};

template <class T> struct A {};
template <class T> using B = A<T>;

template <template <class> class T> class C {};

void f(C<B>) { }	    // { dg-final { scan-assembler "_Z1f1CI1AE" } }
same<C<A>, C<B> > s;