[clang][tools] Remove path separator assumption

After 98e6deb6 the 'HeadersForSymbolTest.IWYUTransitiveExportWithPrivate' test in 'ClangIncludeCleanerTest' started failing. This is most likely because `FileEntryRef::getName()` now starts with ".\" on Windows, whereas `FileEntry::getName()` did not. This commit fixes assumption of forward slash separators.
This commit is contained in:
Jan Svoboda
2023-09-09 11:37:34 -07:00
parent 60c0d303d6
commit eea232da82

View File

@@ -50,8 +50,7 @@ llvm::SmallVector<Header> ranked(llvm::SmallVector<Hinted<Header>> Headers) {
// name.
llvm::StringRef basename(llvm::StringRef Header) {
Header = Header.trim("<>\"");
if (auto LastSlash = Header.rfind('/'); LastSlash != Header.npos)
Header = Header.drop_front(LastSlash + 1);
Header = llvm::sys::path::filename(Header);
// Drop everything after first `.` (dot).
// foo.h -> foo
// foo.cu.h -> foo