diff options
Diffstat (limited to 'clang/lib/Frontend/DependencyFile.cpp')
-rw-r--r-- | clang/lib/Frontend/DependencyFile.cpp | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/clang/lib/Frontend/DependencyFile.cpp b/clang/lib/Frontend/DependencyFile.cpp index c5c3449..93d4a80 100644 --- a/clang/lib/Frontend/DependencyFile.cpp +++ b/clang/lib/Frontend/DependencyFile.cpp @@ -51,15 +51,8 @@ struct DepCollectorPPCallbacks : public PPCallbacks { if (!FE) return; - StringRef Filename = FE->getName(); - - // Remove leading "./" (or ".//" or "././" etc.) - while (Filename.size() > 2 && Filename[0] == '.' && - llvm::sys::path::is_separator(Filename[1])) { - Filename = Filename.substr(1); - while (llvm::sys::path::is_separator(Filename[0])) - Filename = Filename.substr(1); - } + StringRef Filename = + llvm::sys::path::remove_leading_dotslash(FE->getName()); DepCollector.maybeAddDependency(Filename, /*FromModule*/false, FileType != SrcMgr::C_User, @@ -295,15 +288,7 @@ void DFGImpl::FileChanged(SourceLocation Loc, if (!FileMatchesDepCriteria(Filename.data(), FileType)) return; - // Remove leading "./" (or ".//" or "././" etc.) - while (Filename.size() > 2 && Filename[0] == '.' && - llvm::sys::path::is_separator(Filename[1])) { - Filename = Filename.substr(1); - while (llvm::sys::path::is_separator(Filename[0])) - Filename = Filename.substr(1); - } - - AddFilename(Filename); + AddFilename(llvm::sys::path::remove_leading_dotslash(Filename)); } void DFGImpl::InclusionDirective(SourceLocation HashLoc, |