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 | e60e408661b7bc37d62f875befdc6a43d63f7880 (patch) | |
| tree | 22975b2e9fc0ad62a43e9b31162753819030b22a /clang/lib/Serialization | |
| parent | e27921feb89e0530e2a782340d4e6d16225a65e0 (diff) | |
| download | bcm5719-llvm-e60e408661b7bc37d62f875befdc6a43d63f7880.tar.gz bcm5719-llvm-e60e408661b7bc37d62f875befdc6a43d63f7880.zip | |
[PCH] Add a null check to avoid crashing.
Unfortunately, no test case. rdar://11960120
llvm-svn: 163566
Diffstat (limited to 'clang/lib/Serialization')
| -rw-r--r-- | clang/lib/Serialization/ASTReaderDecl.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index ba830d172cc..7aac2ac3ed8 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/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; } |

