Mercurial > hg > CbC > CbC_llvm
comparison clang/test/PCH/check-deserializations.cpp @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
1 // RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++11 -emit-pch -o %t.1 %s | |
2 // RUN: %clang_cc1 -triple x86_64-linux-gnu -error-on-deserialized-decl S1_keyfunc -error-on-deserialized-decl S3 -error-on-deserialized-decl DND -std=c++11 -include-pch %t.1 -emit-pch -o %t.2 %s | |
3 // RUN: %clang_cc1 -triple x86_64-linux-gnu -error-on-deserialized-decl S1_method -error-on-deserialized-decl S3 -error-on-deserialized-decl DND -std=c++11 -include-pch %t.2 -emit-llvm-only %s | |
4 | |
5 // FIXME: Why does this require an x86 target? | |
6 // REQUIRES: x86-registered-target | |
7 | |
8 #ifndef HEADER1 | |
9 #define HEADER1 | |
10 // Header. | |
11 | |
12 struct S1 { | |
13 void S1_method(); | |
14 virtual void S1_keyfunc(); | |
15 }; | |
16 | |
17 struct S3 {}; | |
18 | |
19 struct S2 { | |
20 operator S3(); | |
21 }; | |
22 | |
23 namespace vars { | |
24 constexpr int f() { return 0; } | |
25 struct X { constexpr X() {} }; | |
26 namespace v1 { const int DND = 0; } | |
27 namespace v2 { constexpr int DND = f(); } | |
28 namespace v3 { static X DND; } | |
29 namespace v4 { constexpr X DND = {}; } | |
30 } | |
31 | |
32 #elif !defined(HEADER2) | |
33 #define HEADER2 | |
34 | |
35 // Chained PCH. | |
36 S1 *s1; | |
37 S2 *s2; | |
38 | |
39 #else | |
40 | |
41 // Using the headers. | |
42 | |
43 void test(S1*, S2*) { | |
44 } | |
45 | |
46 #endif |