@@ -8604,17 +8604,20 @@ struct ClangDeclTraceFormatter : public UnifiedStatsReporter::TraceFormatter {
8604
8604
const clang::Decl *CD = static_cast <const clang::Decl *>(Entity);
8605
8605
if (auto const *ND = dyn_cast<const clang::NamedDecl>(CD)) {
8606
8606
ND->printName (OS);
8607
+ } else {
8608
+ OS << " <unnamed-clang-decl>" ;
8607
8609
}
8608
8610
}
8609
8611
8610
- static inline void printClangShortLoc (raw_ostream &OS,
8612
+ static inline bool printClangShortLoc (raw_ostream &OS,
8611
8613
clang::SourceManager *CSM,
8612
8614
clang::SourceLocation L) {
8613
8615
if (!L.isValid () || !L.isFileID ())
8614
- return ;
8616
+ return false ;
8615
8617
auto PLoc = CSM->getPresumedLoc (L);
8616
8618
OS << llvm::sys::path::filename (PLoc.getFilename ()) << ' :' << PLoc.getLine ()
8617
8619
<< ' :' << PLoc.getColumn ();
8620
+ return true ;
8618
8621
}
8619
8622
8620
8623
void traceLoc (const void *Entity, SourceManager *SM,
@@ -8624,8 +8627,8 @@ struct ClangDeclTraceFormatter : public UnifiedStatsReporter::TraceFormatter {
8624
8627
if (CSM) {
8625
8628
const clang::Decl *CD = static_cast <const clang::Decl *>(Entity);
8626
8629
auto Range = CD->getSourceRange ();
8627
- printClangShortLoc (OS, CSM, Range.getBegin ());
8628
- OS << ' -' ;
8630
+ if ( printClangShortLoc (OS, CSM, Range.getBegin ()))
8631
+ OS << ' -' ;
8629
8632
printClangShortLoc (OS, CSM, Range.getEnd ());
8630
8633
}
8631
8634
}
0 commit comments