aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-07-28 00:57:24 +0000
committerDouglas Gregor <dgregor@apple.com>2011-07-28 00:57:24 +0000
commit1e5b6f60e2e09addd2f2e915c87d8bd74d40c369 (patch)
tree3bd995e30da4b19d1b23828423b8e6a562b5aa3f
parenta126f17ca83b985300c1f65cee647bea108db657 (diff)
Don't set Sema's StdNamespace or StdBadAlloc if they've already been set
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136318 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Serialization/ASTReader.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp
index 8b2d1a270e..3eb887367c 100644
--- a/lib/Serialization/ASTReader.cpp
+++ b/lib/Serialization/ASTReader.cpp
@@ -4346,8 +4346,10 @@ void ASTReader::InitializeSema(Sema &S) {
// They will be lazily deserialized when needed.
if (!SemaDeclRefs.empty()) {
assert(SemaDeclRefs.size() == 2 && "More decl refs than expected!");
- SemaObj->StdNamespace = SemaDeclRefs[0];
- SemaObj->StdBadAlloc = SemaDeclRefs[1];
+ if (!SemaObj->StdNamespace)
+ SemaObj->StdNamespace = SemaDeclRefs[0];
+ if (!SemaObj->StdBadAlloc)
+ SemaObj->StdBadAlloc = SemaDeclRefs[1];
}
for (Module *F = &ModuleMgr.getPrimaryModule(); F; F = F->NextInSource) {