* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / variadic133.C
blob0265f0991c186d249cb12c01c596dad7f5710604
1 // PR c++/53039
2 // { dg-do compile { target c++11 } }
4 template <class, class>
5 struct is_convertible
7   static const bool value = true;
8 };
10 template<bool, class T>
11 struct enable_if
13   typedef T type;
16 template <bool...>
17 struct Xs
19   static const bool value = true;
22 template<typename... BTs>
23   class BType
24     {
25       template <typename... BUs,
26         typename enable_if<
27                Xs<is_convertible<BUs, BTs>::value...>::value,
28                bool>::type = false>
29         void fooX(BUs&&...);
30     };
32 template <typename... ATs>
33   struct AType
34     {
35       template <typename... AUs,
36     typename enable_if<
37                Xs<is_convertible<AUs, ATs>::value...>::value,
38                bool>::type = false>
39         void foo(AUs&&...);
40     };
42 int main()
44   AType<int, int> t;
45   t.foo(1, 1);