aboutsummaryrefslogtreecommitdiff
path: root/lib/Serialization
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-09-10 23:28:22 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-09-10 23:28:22 +0000
commit73c87d0c7e34c4bd33f2bb3674687a9d46c8dfec (patch)
treeb0187d10fe699965276d7c9e612dd95a36fa501f /lib/Serialization
parent1b76fbc5b711efc03c1fe924db6756ec1590577a (diff)
[PCH] Add a null check to avoid crashing.
Unfortunately, no test case. rdar://11960120 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163566 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Serialization')
-rw-r--r--lib/Serialization/ASTReaderDecl.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Serialization/ASTReaderDecl.cpp b/lib/Serialization/ASTReaderDecl.cpp
index ba830d172c..7aac2ac3ed 100644
--- a/lib/Serialization/ASTReaderDecl.cpp
+++ b/lib/Serialization/ASTReaderDecl.cpp
@@ -590,8 +590,10 @@ void ASTDeclReader::VisitFunctionDecl(FunctionDecl *FD) {
TemplArgs.size(), C);
void *InsertPos = 0;
CanonTemplate->getSpecializations().FindNodeOrInsertPos(ID, InsertPos);
- assert(InsertPos && "Another specialization already inserted!");
- CanonTemplate->getSpecializations().InsertNode(FTInfo, InsertPos);
+ if (InsertPos)
+ CanonTemplate->getSpecializations().InsertNode(FTInfo, InsertPos);
+ else
+ assert(0 && "Another specialization already inserted!");
}
break;
}