39 lines · cpp
1// Test this without pch.2// RUN: %clang_cc1 -include %s -verify -std=c++11 %s3 4// Test with pch.5// RUN: %clang_cc1 -std=c++11 -emit-pch -o %t %s6// RUN: %clang_cc1 -include-pch %t -verify -std=c++11 %s 7 8// RUN: %clang_cc1 -std=c++11 -emit-pch -fpch-instantiate-templates -o %t %s9// RUN: %clang_cc1 -include-pch %t -verify -std=c++11 %s10 11// expected-no-diagnostics12 13#ifndef HEADER14#define HEADER15 16template<typename T>17class New {18 New(const New&);19 20public:21 New *clone() {22 return new New(*this);23 }24};25 26template<typename ...T> int *arr_new(T ...v) {27 return new int[]{v...};28}29 30#else31 32New<int> *clone_new(New<int> *n) {33 return n->clone();34}35 36int *use_arr_new = arr_new(1, 2, 3);37 38#endif39