1 // Test this without pch. 2 // RUN: %clang_cc1 -include %s -verify -std=c++11 %s 3 4 // Test with pch. 5 // RUN: %clang_cc1 -std=c++11 -emit-pch -o %t %s 6 // RUN: %clang_cc1 -include-pch %t -verify -std=c++11 %s 7 8 // expected-no-diagnostics 9 10 #ifndef HEADER 11 #define HEADER 12 13 template<typename T> 14 class New { 15 New(const New&); 16 17 public: 18 New *clone() { 19 return new New(*this); 20 } 21 }; 22 23 template<typename ...T> int *arr_new(T ...v) { 24 return new int[]{v...}; 25 } 26 27 #else 28 29 New<int> *clone_new(New<int> *n) { 30 return n->clone(); 31 } 32 33 int *use_arr_new = arr_new(1, 2, 3); 34 35 #endif 36