1 // PR c++/90019
2 // { dg-do compile { target c++11 } }
3 
4 template<bool, typename T = void>
5 struct enable_if { };
6 template<typename T>
7 struct enable_if<true, T> { typedef T type; };
8 template<bool C, typename T = void>
9 using __enable_if_t = typename enable_if<C, T>::type;
10 template<bool C, typename T = void>
11 using enable_if_t = typename enable_if<C, T>::type;
12 
13 template <int I, enable_if_t<I == 0, int>...> void foo() {}
14 template <int I, enable_if_t<I != 0, int>...> void foo() {}
15 template <int I, int=0, enable_if_t<I == 0, int>...> void bar() {}
16 template <int I, int=0, enable_if_t<I != 0, int>...> void bar() {}
17 
18 void test()
19 {
20   bar<0>();
21   bar<0,0>();
22   foo<0>();
23 }
24