1 // No PCH: 2 // RUN: %clang_cc1 -pedantic -std=c++1z -include %s -verify %s 3 // 4 // With PCH: 5 // RUN: %clang_cc1 -pedantic -std=c++1z -emit-pch %s -o %t 6 // RUN: %clang_cc1 -pedantic -std=c++1z -include-pch %t -verify %s 7 8 #ifndef HEADER 9 #define HEADER 10 11 template<typename ...T> struct A : T... { 12 using T::f ...; 13 template<typename ...U> void g(U ...u) { f(u...); } 14 }; 15 16 struct X { void f(); }; 17 struct Y { void f(int); }; 18 struct Z { void f(int, int); }; 19 20 inline A<X, Y, Z> a; 21 22 #else 23 24 void test() { 25 a.g(); 26 a.g(0); 27 a.g(0, 0); 28 // expected-error@13 {{no match}} 29 // expected-note@16 {{candidate}} 30 // expected-note@17 {{candidate}} 31 // expected-note@18 {{candidate}} 32 a.g(0, 0, 0); // expected-note {{instantiation of}} 33 } 34 35 #endif 36