]> granicus.if.org Git - clang/commit
[modules] When performing a lookup into a namespace, ensure that any later
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 13 Aug 2014 01:23:33 +0000 (01:23 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 13 Aug 2014 01:23:33 +0000 (01:23 +0000)
commitbf6143fc8779e84f996b74a929af6b8a00dca3c8
treeb80ce110429946c4b3043ab675f3f0f194aaf80a
parentad059a3d8bdbd45b6e994f854dc79624168442dd
[modules] When performing a lookup into a namespace, ensure that any later
redefinitions of that namespace have already been loaded. When writing out the
names in a namespace, if we see a name that is locally declared and had
imported declarations merged on top of it, export the local declaration as the
lookup result, because it will be the most recent declaration of that entity in
the redeclaration chain of an importer of the module.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215518 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
include/clang/AST/DeclBase.h
lib/AST/ASTDumper.cpp
lib/AST/DeclBase.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriter.cpp
test/Modules/Inputs/cxx-lookup/a.h [new file with mode: 0644]
test/Modules/Inputs/cxx-lookup/b.h [new file with mode: 0644]
test/Modules/Inputs/cxx-lookup/c1.h [new file with mode: 0644]
test/Modules/Inputs/cxx-lookup/c2.h [new file with mode: 0644]
test/Modules/Inputs/cxx-lookup/module.modulemap [new file with mode: 0644]
test/Modules/Inputs/cxx-lookup/x.h [new file with mode: 0644]
test/Modules/Inputs/cxx-lookup/y.h [new file with mode: 0644]
test/Modules/cxx-lookup.cpp [new file with mode: 0644]
test/Modules/cxx-templates.cpp