]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/PCH/check-deserializations.cpp
Vendor import of clang RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
[FreeBSD/FreeBSD.git] / test / PCH / check-deserializations.cpp
1 // RUN: %clang_cc1 -emit-pch -o %t.1 %s
2 // RUN: %clang_cc1 -error-on-deserialized-decl S1_keyfunc -error-on-deserialized-decl S3 -include-pch %t.1 -emit-pch -o %t.2 %s
3 // RUN: %clang_cc1 -error-on-deserialized-decl S1_method -error-on-deserialized-decl S3 -include-pch %t.2 -emit-llvm-only %s
4
5 #ifndef HEADER1
6 #define HEADER1
7 // Header.
8
9 struct S1 {
10   void S1_method();
11   virtual void S1_keyfunc();
12 };
13
14 struct S3 {};
15
16 struct S2 {
17   operator S3();
18 };
19
20 #elif !defined(HEADER2)
21 #define HEADER2
22
23 // Chained PCH.
24 S1 *s1;
25 S2 *s2;
26
27 #else
28
29 // Using the headers.
30
31 void test(S1*, S2*) {
32 }
33
34 #endif