summaryrefslogtreecommitdiffstats
path: root/test/PCH/check-deserializations.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/PCH/check-deserializations.cpp')
-rw-r--r--test/PCH/check-deserializations.cpp28
1 files changed, 21 insertions, 7 deletions
diff --git a/test/PCH/check-deserializations.cpp b/test/PCH/check-deserializations.cpp
index 9f73c95..e4dafb7 100644
--- a/test/PCH/check-deserializations.cpp
+++ b/test/PCH/check-deserializations.cpp
@@ -1,20 +1,34 @@
-// RUN: %clang_cc1 -emit-pch -o %t %s
-// RUN: %clang_cc1 -error-on-deserialized-decl S1_method -include-pch %t -emit-llvm-only %s
+// RUN: %clang_cc1 -emit-pch -o %t.1 %s
+// RUN: %clang_cc1 -error-on-deserialized-decl S1_keyfunc -error-on-deserialized-decl S3 -include-pch %t.1 -emit-pch -o %t.2 %s
+// RUN: %clang_cc1 -error-on-deserialized-decl S1_method -error-on-deserialized-decl S3 -include-pch %t.2 -emit-llvm-only %s
-#ifndef HEADER
-#define HEADER
+#ifndef HEADER1
+#define HEADER1
// Header.
struct S1 {
- void S1_method(); // This should not be deserialized.
+ void S1_method();
virtual void S1_keyfunc();
};
+struct S3 {};
+
+struct S2 {
+ operator S3();
+};
+
+#elif !defined(HEADER2)
+#define HEADER2
+
+// Chained PCH.
+S1 *s1;
+S2 *s2;
#else
-// Using the header.
-void test(S1*) {
+// Using the headers.
+
+void test(S1*, S2*) {
}
#endif
OpenPOWER on IntegriCloud