diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-03-01 00:08:04 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-03-01 00:08:04 +0000 |
commit | 49f906a36fdad83a9935d6f1815d620a7d0bf57a (patch) | |
tree | 8cd2c4e93b4c73e04c2af692c044eadb55c809ca /clang/lib/Serialization/ASTReaderDecl.cpp | |
parent | 49133948a96617a67631c59d3158a8aa3463136c (diff) | |
download | bcm5719-llvm-49f906a36fdad83a9935d6f1815d620a7d0bf57a.tar.gz bcm5719-llvm-49f906a36fdad83a9935d6f1815d620a7d0bf57a.zip |
If a module A exports a macro M, and a module B imports that macro and #undef's
it, importers of B should not see the macro. This is complicated by the fact
that A's macro could also be visible through a different path. The rules (as
hashed out on cfe-commits) are included as a documentation update in this
change.
With this, the number of regressions in libc++'s testsuite when modules are
enabled drops from 47 to 7. Those remaining 7 are also macro-related, and are
due to remaining bugs in this change (in particular, the handling of submodules
is imperfect).
llvm-svn: 202560
Diffstat (limited to 'clang/lib/Serialization/ASTReaderDecl.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReaderDecl.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index 18dbb053b99..958e18183c0 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/lib/Serialization/ASTReaderDecl.cpp @@ -412,7 +412,7 @@ void ASTDeclReader::VisitDecl(Decl *D) { // Note that this declaration was hidden because its owning module is // not yet visible. - Reader.HiddenNamesMap[Owner].push_back(D); + Reader.HiddenNamesMap[Owner].HiddenDecls.push_back(D); } } } |