1 // PR c++/31434 2 // { dg-do run { target c++11 } } 3 4 extern "C" void abort (); 5 foo(const T...)6template<typename... T> inline int foo (const T...) { return 1; } foo(const T * ...)7template<typename... T> inline int foo (const T *...) { return 2; } 8 9 void bar(int * a)10bar (int *a) 11 { 12 a[0] = foo (0); 13 a[1] = foo (*a); 14 a[2] = foo<int> (a); 15 a[3] = foo<int> (2, 3, 4, 5); 16 a[4] = foo<int> (a, a + 1, a + 2); 17 } 18 19 int main()20main () 21 { 22 int a[5]; 23 bar (a); 24 if (a[0] != 1 || a[1] != 1 || a[2] != 2 || a[3] != 1 || a[4] != 2) 25 abort (); 26 return 0; 27 } 28