diff options
Diffstat (limited to 'lib/Checker/AnalyzerStatsChecker.cpp')
-rw-r--r-- | lib/Checker/AnalyzerStatsChecker.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/lib/Checker/AnalyzerStatsChecker.cpp b/lib/Checker/AnalyzerStatsChecker.cpp index 9badb79625..c484537e95 100644 --- a/lib/Checker/AnalyzerStatsChecker.cpp +++ b/lib/Checker/AnalyzerStatsChecker.cpp @@ -83,16 +83,18 @@ void AnalyzerStatsChecker::VisitEndAnalysis(ExplodedGraph &G, llvm::SmallString<128> buf; llvm::raw_svector_ostream output(buf); PresumedLoc Loc = SM.getPresumedLoc(D->getLocation()); - output << Loc.getFilename() << " : "; + if (Loc.isValid()) { + output << Loc.getFilename() << " : "; - if (isa<FunctionDecl>(D) || isa<ObjCMethodDecl>(D)) { - const NamedDecl *ND = cast<NamedDecl>(D); - output << ND; - } - else if (isa<BlockDecl>(D)) { - output << "block(line:" << Loc.getLine() << ":col:" << Loc.getColumn(); + if (isa<FunctionDecl>(D) || isa<ObjCMethodDecl>(D)) { + const NamedDecl *ND = cast<NamedDecl>(D); + output << ND; + } + else if (isa<BlockDecl>(D)) { + output << "block(line:" << Loc.getLine() << ":col:" << Loc.getColumn(); + } } - + output << " -> Total CFGBlocks: " << total << " | Unreachable CFGBlocks: " << unreachable << " | Aborted Block: " << (Eng.wasBlockAborted() ? "yes" : "no") |