diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-09-10 23:28:22 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-09-10 23:28:22 +0000 |
commit | 73c87d0c7e34c4bd33f2bb3674687a9d46c8dfec (patch) | |
tree | b0187d10fe699965276d7c9e612dd95a36fa501f /lib/Serialization | |
parent | 1b76fbc5b711efc03c1fe924db6756ec1590577a (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.cpp | 6 |
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; } |