1 // no PCH
2 // RUN: %clang_cc1 -include %s -include %s -fsyntax-only %s
3 // with PCH
4 // RUN: %clang_cc1 -chain-include %s -chain-include %s -fsyntax-only %s
5 // with PCH, with modules enabled
6 // RUN: %clang_cc1 -chain-include %s -chain-include %s -fsyntax-only -fmodules %s
7 #if !defined(PASS1)
8 #define PASS1
9 
10 namespace ns {}
11 namespace os {}
12 
13 #elif !defined(PASS2)
14 #define PASS2
15 
16 namespace ns {
17   namespace {
18     extern int x;
19   }
20 }
21 
22 namespace {
23   extern int y;
24 }
25 namespace {
26 }
27 
28 namespace os {
29   extern "C" {
30     namespace {
31       extern int z;
32     }
33   }
34 }
35 
36 #else
37 
38 namespace ns {
39   namespace {
40     int x;
41   }
test()42   void test() {
43     (void)x;
44   }
45 }
46 
47 namespace {
48   int y;
49 }
test()50 void test() {
51   (void)y;
52 }
53 
54 namespace os {
55   namespace {
56     int z;
57   }
test()58   void test() {
59     (void)z;
60   }
61 }
62 
63 #endif
64