do not use compiler.getSourceManager().getFilename()

This is a continuation of ff002524c1.
When compiling with icecream, its -frewrite-includes merges
all #include's into one .cxx file and marks them with with line
markers. But SourceManager::getFilename() doesn't take those
into account and so it reports all of those as <stdin>.
So use getFileNameOfSpellingLoc(), which explicitly handles this
case.
And we should probably never ever use SourceManager::getFilename().

Change-Id: Ia194c2e041578e1e199aee2df2f885922ef7e31a
Reviewed-on: https://gerrit.libreoffice.org/80326
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
This commit is contained in:
Luboš Luňák
2019-10-06 20:44:39 +02:00
parent dc8b44bd1d
commit c8bf651fb9
28 changed files with 28 additions and 29 deletions

View File

@@ -621,8 +621,7 @@ bool RewritePlugin::wouldRewriteWorkdir(SourceLocation loc)
return false;
}
return
compiler.getSourceManager().getFilename(
compiler.getSourceManager().getSpellingLoc(loc))
getFileNameOfSpellingLoc(compiler.getSourceManager().getSpellingLoc(loc))
.startswith(WORKDIR "/");
}