summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/Inputs/namespaces-top.h
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2013-09-09 07:34:56 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2013-09-09 07:34:56 +0000
commit4abe0a8d82667092aea76f3942f9ab13fdc3a7d3 (patch)
tree42fb0d9aabccde30beed00640e5d59e84555b4d0 /clang/test/Modules/Inputs/namespaces-top.h
parent80cc27857bc3d2bc6cf359e269a5d61a1a2814d3 (diff)
downloadbcm5719-llvm-4abe0a8d82667092aea76f3942f9ab13fdc3a7d3.tar.gz
bcm5719-llvm-4abe0a8d82667092aea76f3942f9ab13fdc3a7d3.zip
C++ modules: fix a bug where loading a declaration with some name would prevent
name lookup from lazily deserializing the other declarations with the same name, by tracking a bit to indicate whether a name in a DeclContext might have additional external results. This also allows lazier reconciling of the lookup table if a module import adds decls to a pre-existing DC. However, this exposes a pre-existing bug, which causes a regression in test/Modules/decldef.mm: if we have a reference to a declaration, and a later-imported module adds a redeclaration, nothing causes us to load that redeclaration when we use or emit the reference (which can manifest as a reference to an undefined inline function, a use of an incomplete type, and so on). decldef.mm has been extended with an additional testcase which fails with or without this change. llvm-svn: 190293
Diffstat (limited to 'clang/test/Modules/Inputs/namespaces-top.h')
-rw-r--r--clang/test/Modules/Inputs/namespaces-top.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/namespaces-top.h b/clang/test/Modules/Inputs/namespaces-top.h
index 0c607f52851..7aa8490eb7e 100644
--- a/clang/test/Modules/Inputs/namespaces-top.h
+++ b/clang/test/Modules/Inputs/namespaces-top.h
@@ -12,3 +12,8 @@ namespace N3 {
namespace N12 { }
+namespace N13 {
+ void f();
+ int f(int);
+ void (*p)() = &f;
+}
OpenPOWER on IntegriCloud