1 // Test the setup without incremental extensions first
2 // RUN: %clang_cc1 -std=c++17 -fdelayed-template-parsing -fpch-instantiate-templates %s -emit-pch -o %t.pch -verify
3 // RUN: %clang_cc1 -std=c++17 -fdelayed-template-parsing -include-pch %t.pch %s -verify
5 // RUN: %clang_cc1 -std=c++17 -fdelayed-template-parsing -fincremental-extensions -fpch-instantiate-templates %s -emit-pch -o %t.incremental.pch -verify
6 // RUN: %clang_cc1 -std=c++17 -fdelayed-template-parsing -fincremental-extensions -include-pch %t.incremental.pch %s -verify
8 // expected-no-diagnostics
13 // Have one template that is instantiated in the PCH (via the passed option
14 // -fpch-instantiate-templates) and then serialized
15 template <typename T
> T
ft1() { return 0; }
16 inline int f1() { return ft1
<int>(); }
18 // Have a second late-parsed template that needs to be deserialized
19 template <typename T
> T
ft2() { return 0; }
23 int f2() { return ft2
<int>(); }