diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-27 21:38:25 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-27 21:38:25 +0000 |
commit | 5f55d93c84320a024573a516291faf77223cdf85 (patch) | |
tree | f8ef3351f42a6fd4924e40632a8bbe9a92ea7eee /clang/lib/Serialization | |
parent | 81461a4350a105f73b40c3212baafd2b66d3ce22 (diff) | |
download | bcm5719-llvm-5f55d93c84320a024573a516291faf77223cdf85.tar.gz bcm5719-llvm-5f55d93c84320a024573a516291faf77223cdf85.zip |
Don't call a member function on a null pointer.
llvm-svn: 246215
Diffstat (limited to 'clang/lib/Serialization')
-rw-r--r-- | clang/lib/Serialization/ASTWriterDecl.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index 3f8ddf1292e..d38e58766a2 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -165,9 +165,12 @@ namespace clang { void AddFirstDeclFromEachModule(const Decl *D, bool IncludeLocal) { llvm::MapVector<ModuleFile*, const Decl*> Firsts; // FIXME: We can skip entries that we know are implied by others. - for (const Decl *R = D->getMostRecentDecl(); R; R = R->getPreviousDecl()) - if (IncludeLocal || R->isFromASTFile()) + for (const Decl *R = D->getMostRecentDecl(); R; R = R->getPreviousDecl()) { + if (R->isFromASTFile()) Firsts[Writer.Chain->getOwningModuleFile(R)] = R; + else if (IncludeLocal) + Firsts[nullptr] = R; + } for (const auto &F : Firsts) Writer.AddDeclRef(F.second, Record); } |