xref: /llvm-project/clang/test/PCH/chain-invalid-code.cpp (revision 70ec1c7e62461ad559cc302adbd2f4e83e2fc264)
1*70ec1c7eSArgyrios Kyrtzidis // RUN: %clang_cc1 -fsyntax-only %s -chain-include %s -Wuninitialized -Wunused -verify
2*70ec1c7eSArgyrios Kyrtzidis 
3*70ec1c7eSArgyrios Kyrtzidis // Make sure there is no crash.
4*70ec1c7eSArgyrios Kyrtzidis 
5*70ec1c7eSArgyrios Kyrtzidis #ifndef HEADER
6*70ec1c7eSArgyrios Kyrtzidis #define HEADER
7*70ec1c7eSArgyrios Kyrtzidis 
8*70ec1c7eSArgyrios Kyrtzidis #include "non-existent-header.h"
9*70ec1c7eSArgyrios Kyrtzidis 
10*70ec1c7eSArgyrios Kyrtzidis class A {
11*70ec1c7eSArgyrios Kyrtzidis public:
12*70ec1c7eSArgyrios Kyrtzidis   ~A();
13*70ec1c7eSArgyrios Kyrtzidis };
14*70ec1c7eSArgyrios Kyrtzidis 
15*70ec1c7eSArgyrios Kyrtzidis class ForwardCls;
16*70ec1c7eSArgyrios Kyrtzidis struct B {
17*70ec1c7eSArgyrios Kyrtzidis   ForwardCls f;
18*70ec1c7eSArgyrios Kyrtzidis   A a;
19*70ec1c7eSArgyrios Kyrtzidis };
20*70ec1c7eSArgyrios Kyrtzidis 
21*70ec1c7eSArgyrios Kyrtzidis #else
22*70ec1c7eSArgyrios Kyrtzidis 
test()23*70ec1c7eSArgyrios Kyrtzidis static void test() {
24*70ec1c7eSArgyrios Kyrtzidis   int x; // expected-warning {{unused}}
25*70ec1c7eSArgyrios Kyrtzidis   B b;
26*70ec1c7eSArgyrios Kyrtzidis }
27*70ec1c7eSArgyrios Kyrtzidis 
28*70ec1c7eSArgyrios Kyrtzidis #endif
29