aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-04-26 18:34:14 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-04-26 18:34:14 +0000
commit394e5392febc66a5511003fd24d540c51beffdd9 (patch)
tree21e0baec45d4c6e5626dbb07fdba94be548ca765
parent1de9d7de172379d6af75fd11dda2a713e4f36f62 (diff)
[PCH] In ASTReader::completeVisibleDeclsMap, after we loaded all visible decls, mark
the declaration context as not having external visible storage any more. This should improve performance as we won't needlessly reload the visible decls multiple times and seems to fix the i386 crash in rdar://11327522. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155649 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Serialization/ASTReader.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp
index fd0c171394..e0f996644b 100644
--- a/lib/Serialization/ASTReader.cpp
+++ b/lib/Serialization/ASTReader.cpp
@@ -5025,6 +5025,7 @@ void ASTReader::completeVisibleDeclsMap(const DeclContext *DC) {
I = Decls.begin(), E = Decls.end(); I != E; ++I) {
SetExternalVisibleDeclsForName(DC, I->first, I->second);
}
+ const_cast<DeclContext *>(DC)->setHasExternalVisibleStorage(false);
}
/// \brief Under non-PCH compilation the consumer receives the objc methods