* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / alias-decl-0.C
blobbcefe3fc94f6b708c2d880c1d06dca997b916c82
1 // { dg-do compile { target c++11 } }
3 template<template<class> class TT> struct X { };
4 template<class> struct Y { };
5 template<class T> using Z = Y<T>;
7 void f(X<Y>);
8 void g(X<Z>);
10 void
11 foo()
13     // Below x and y have the same type (DR 1286)
14     X<Y> y; 
15     X<Z> z;
17     // ... So these must compile.
18     f(z);   // { dg-bogus "" }
19     g(y);   // { dg-bogus "" }
22 template<class> struct A0 {};
23 template<class T> using AA0 = A0<T>;
24 template<class T> using AAA0 = AA0<T>;
26 void f0(A0<int>);
27 void
28 g0()
30   AA0<int> a;
31   AAA0<int> b;
32   f0(a);
33   f0(b);