| // no PCH |
| // RUN: %clang_cc1 -include %s -include %s -fsyntax-only %s |
| // with PCH |
| // RUN: %clang_cc1 -chain-include %s -chain-include %s -fsyntax-only %s |
| // with PCH, with modules enabled |
| // RUN: %clang_cc1 -chain-include %s -chain-include %s -fsyntax-only -fmodules %s |
| #if !defined(PASS1) |
| #define PASS1 |
| |
| namespace ns {} |
| namespace os {} |
| |
| #elif !defined(PASS2) |
| #define PASS2 |
| |
| namespace ns { |
| namespace { |
| extern int x; |
| } |
| } |
| |
| namespace { |
| extern int y; |
| } |
| namespace { |
| } |
| |
| namespace os { |
| extern "C" { |
| namespace { |
| extern int z; |
| } |
| } |
| } |
| |
| #else |
| |
| namespace ns { |
| namespace { |
| int x; |
| } |
| void test() { |
| (void)x; |
| } |
| } |
| |
| namespace { |
| int y; |
| } |
| void test() { |
| (void)y; |
| } |
| |
| namespace os { |
| namespace { |
| int z; |
| } |
| void test() { |
| (void)z; |
| } |
| } |
| |
| #endif |