OSDN Git Service

PR c++/44157
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / cpp0x / vt-34314.C
1 // { dg-options "-std=c++0x" }
2
3 template<typename Fun, typename... Args> // { dg-error "template parameter" }
4 struct call;
5
6 template<typename Fun, typename Arg0>
7 struct call // { dg-error "redeclared here" }
8 {
9     template<typename Sig>
10     struct result;
11
12     template<typename X, typename Y>
13     struct result<X(Y)>
14     {
15         typedef X type;
16     };
17 };
18
19
20 template<typename Fun, int... N> // { dg-error "template parameter" }
21 struct call2;
22
23 template<typename Fun, int N>
24 struct call2 // { dg-error "redeclared here" }
25 {
26     template<typename Sig>
27     struct result;
28
29     template<typename X, typename Y>
30     struct result<X(Y)>
31     {
32         typedef X type;
33     };
34 };
35
36 template<typename Fun, template<typename> class... TT> // { dg-error "template parameter" }
37 struct call3;
38
39 template<typename Fun, template<typename> class TT>
40 struct call3 // { dg-error "redeclared here" }
41 {
42     template<typename Sig>
43     struct result;
44
45     template<typename X, typename Y>
46     struct result<X(Y)>
47     {
48         typedef X type;
49     };
50 };