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 9struct S1 { 10 void S1_method(); 11 virtual void S1_keyfunc(); 12}; 13 14struct S3 {}; 15 16struct S2 { 17 operator S3(); 18}; 19 20#elif !defined(HEADER2) 21#define HEADER2 22 23// Chained PCH. 24S1 *s1; 25S2 *s2; 26 27#else 28 29// Using the headers. 30 31void test(S1*, S2*) { 32} 33 34#endif 35