llvm/clang/test/PCH/chain-late-anonymous-namespace.cpp
Richard Smith 86c0d06194 Fix 41 of the 61 tests which fail with modules enabled: we were computing and
caching the linkage for a declaration before we set up its redeclaration chain,
when determining whether a declaration could be a redeclaration of something
from an unimported submodule. We actually want to look at the declaration as if
it were not a redeclaration here, so compute the linkage but don't cache it.

llvm-svn: 178733
2013-04-04 01:51:11 +00:00

64 lines
778 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
// 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