1 // { dg-do run { target c++11 } } 2 template <typename T, T... Args> struct bomb; 3 4 template <typename T> 5 struct bomb<T> { 6 static const T value = 0; 7 }; 8 9 template <typename T, T v, T... Args> 10 struct bomb<T, v, Args...> { 11 static const T value = v + bomb<T, Args...>::value; 12 }; 13 14 extern "C" void abort(); 15 16 int main() { 17 bomb<int, 1, 2, 3, 4> b; 18 if (b.value != 10) 19 abort(); 20 return 0; 21 } 22