1 // { dg-do compile { target c++11 } }
2 template<typename...> struct count;
3 
4 template<>
5 struct count<> {
6   static const int value = 0;
7 };
8 
9 template<typename T, typename... Args>
10 struct count<T, Args...> {
11   static const int value = 1 + count<Args...>::value;
12 };
13 
14 int a0[count<>::value == 0? 1 : -1];
15 int a1[count<char>::value == 1? 1 : -1];
16 int a2[count<char, short>::value == 2? 1 : -1];
17 int a3[count<char, short, int>::value == 3? 1 : -1];
18 int a4[count<char, short, int, long>::value == 4? 1 : -1];
19