* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / trailing10.C
blob19ef57fa9eab3f9c04cc1b6058eed5a74b6633c5
1 // PR c++/65133
2 // { dg-do compile { target c++11 } }
4 template<bool, typename Tp = void>
5 struct enable_if { };
7 template<typename Tp>
8 struct enable_if<true, Tp> { typedef Tp type; };
10 template <int I>
11 struct count
13   using type = typename count<I-1>::type;
16 template <>
17 struct count<0>
19   using type = void;
22 template <int I>
23 auto foo(typename enable_if<(I>=0)>::type *
24          = nullptr) -> typename count<I>::type { }
26 template <int I>
27 void foo(typename enable_if<(I<0)>::type * = nullptr) { }
29 int main()
31   foo<2>();
32   foo<-1>();