summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2015-08-27 21:38:25 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2015-08-27 21:38:25 +0000
commit5f55d93c84320a024573a516291faf77223cdf85 (patch)
treef8ef3351f42a6fd4924e40632a8bbe9a92ea7eee /clang/lib/Serialization
parent81461a4350a105f73b40c3212baafd2b66d3ce22 (diff)
downloadbcm5719-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.cpp7
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);
}
OpenPOWER on IntegriCloud