62 lines
662 B
C++
62 lines
662 B
C++
|
// 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
|
||
|
#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
|