summaryrefslogtreecommitdiffstats
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
commitb0f3ae60cb2869465f806a8086f33efe4c1c9640 (patch)
treea1e6b396cbede6bfe051ee17e60b2bdc04d24e25
parent32002197b278ff73589ae2b6bcec689b0760cf93 (diff)
downloadbcm5719-llvm-b0f3ae60cb2869465f806a8086f33efe4c1c9640.tar.gz
bcm5719-llvm-b0f3ae60cb2869465f806a8086f33efe4c1c9640.zip
Don't set Sema's StdNamespace or StdBadAlloc if they've already been set
llvm-svn: 136318
-rw-r--r--clang/lib/Serialization/ASTReader.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp
index 8b2d1a270e7..3eb887367c3 100644
--- a/clang/lib/Serialization/ASTReader.cpp
+++ b/clang/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) {
OpenPOWER on IntegriCloud