1 // { dg-do compile { target c++11 } }
2 template<typename... Args>
3 struct tuple_base {
4   static const int value = 0;
5 };
6 
7 template<>
8 struct tuple_base<int*>
9 {
10   static const int value = 1;
11 };
12 
13 template<typename T>
14 struct tuple_base<T*>
15 {
16   static const int value = 2;
17 };
18 
19 template<typename... Args>
20 struct tuple_of_pointers : tuple_base<Args*...> { };
21 
22 int a1[tuple_of_pointers<int>::value == 1? 1 : -1];
23 int a2[tuple_of_pointers<float>::value == 2? 1 : -1];
24