[analyzer] Fix filename in cross-file HTML report

Summary:
The filename is currently taken from the start of the path, while the
line and column are taken from the end of the path.
This didn't matter until cross-file path reporting was added.

Reviewers: george.karpenkov, dcoughlin, vlad.tsyrklevich

Reviewed By: george.karpenkov, vlad.tsyrklevich

Subscribers: xazax.hun, szepet, a.sidorin, cfe-commits

Differential Revision: https://reviews.llvm.org/D45611

llvm-svn: 331361
This commit is contained in:
Malcolm Parsons 2018-05-02 14:26:12 +00:00
parent 86d9f23ded
commit 099e4b2a92
2 changed files with 5 additions and 1 deletions

View File

@ -321,7 +321,9 @@ std::string HTMLDiagnostics::GenerateHTML(const PathDiagnostic& D, Rewriter &R,
return {};
// Add CSS, header, and footer.
const FileEntry* Entry = SMgr.getFileEntryForID(FileIDs[0]);
FileID FID =
path.back()->getLocation().asLocation().getExpansionLoc().getFileID();
const FileEntry* Entry = SMgr.getFileEntryForID(FID);
FinalizeHTML(D, R, SMgr, path, FileIDs[0], Entry, declName);
std::string file;

View File

@ -4,6 +4,8 @@
// REQUIRES: staticanalyzer
// CHECK: <!-- FILENAME html-multifile-diagnostics.h -->
// CHECK: <h3>Annotated Source Code</h3>
// Make sure it's generated as multi-file HTML output