OSDN Git Service

2012-12-15 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / cpp0x / variadic70.C
1 // { dg-do run }
2 // { dg-options "-std=gnu++0x" }
3 template <typename T, T... Args> struct bomb;
4
5 template <typename T>
6 struct bomb<T> {
7  static const T value = 0;
8 };
9
10 template <typename T, T v, T... Args>
11 struct bomb<T, v, Args...> {
12  static const T value = v + bomb<T, Args...>::value;
13 };
14
15 extern "C" void abort();
16
17 int main() {
18   bomb<int, 1, 2, 3, 4> b;
19   if (b.value != 10)
20     abort();
21   return 0;
22 }