diff options
author | Arthur Eubanks <aeubanks@google.com> | 2023-11-08 11:43:35 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-08 11:43:35 -0800 |
commit | 955dd8800b4745784bf6da948ec7992d5b75b4d7 (patch) | |
tree | c303c2aff64629d058b2e1496edb641661a84d8a /clang/lib/Frontend/DependencyFile.cpp | |
parent | 54470176afe20b16e6b026ab989591d1d19ad2b7 (diff) | |
download | llvm-955dd8800b4745784bf6da948ec7992d5b75b4d7.zip llvm-955dd8800b4745784bf6da948ec7992d5b75b4d7.tar.gz llvm-955dd8800b4745784bf6da948ec7992d5b75b4d7.tar.bz2 |
Revert "Reland [clang] Canonicalize system headers in dependency file when -canonical-prefixes" (#71697)
This reverts commit 578a4716f549167165a2ec3bac89c86706136d4e.
This causes multiple issues. Compile time slowdown due to more path
canonicalization, and weird behavior on Windows.
Will reland under a separate flag `-f[no-]canonical-system-headers` to
match gcc in the future and further limit when it's passed by default.
Fixes #70011.
Diffstat (limited to 'clang/lib/Frontend/DependencyFile.cpp')
-rw-r--r-- | clang/lib/Frontend/DependencyFile.cpp | 32 |
1 files changed, 7 insertions, 25 deletions
diff --git a/clang/lib/Frontend/DependencyFile.cpp b/clang/lib/Frontend/DependencyFile.cpp index c2f6f41..19abcac 100644 --- a/clang/lib/Frontend/DependencyFile.cpp +++ b/clang/lib/Frontend/DependencyFile.cpp @@ -49,7 +49,6 @@ struct DepCollectorPPCallbacks : public PPCallbacks { DepCollector.maybeAddDependency( llvm::sys::path::remove_leading_dotslash(*Filename), /*FromModule*/ false, isSystem(FileType), /*IsModuleFile*/ false, - &PP.getFileManager(), /*IsMissing*/ false); } @@ -57,11 +56,9 @@ struct DepCollectorPPCallbacks : public PPCallbacks { SrcMgr::CharacteristicKind FileType) override { StringRef Filename = llvm::sys::path::remove_leading_dotslash(SkippedFile.getName()); - DepCollector.maybeAddDependency(Filename, - /*FromModule=*/false, + DepCollector.maybeAddDependency(Filename, /*FromModule=*/false, /*IsSystem=*/isSystem(FileType), /*IsModuleFile=*/false, - &PP.getFileManager(), /*IsMissing=*/false); } @@ -72,11 +69,9 @@ struct DepCollectorPPCallbacks : public PPCallbacks { StringRef RelativePath, const Module *Imported, SrcMgr::CharacteristicKind FileType) override { if (!File) - DepCollector.maybeAddDependency(FileName, - /*FromModule*/ false, + DepCollector.maybeAddDependency(FileName, /*FromModule*/ false, /*IsSystem*/ false, /*IsModuleFile*/ false, - &PP.getFileManager(), /*IsMissing*/ true); // Files that actually exist are handled by FileChanged. } @@ -88,11 +83,9 @@ struct DepCollectorPPCallbacks : public PPCallbacks { return; StringRef Filename = llvm::sys::path::remove_leading_dotslash(File->getName()); - DepCollector.maybeAddDependency(Filename, - /*FromModule=*/false, + DepCollector.maybeAddDependency(Filename, /*FromModule=*/false, /*IsSystem=*/isSystem(FileType), /*IsModuleFile=*/false, - &PP.getFileManager(), /*IsMissing=*/false); } @@ -108,11 +101,9 @@ struct DepCollectorMMCallbacks : public ModuleMapCallbacks { void moduleMapFileRead(SourceLocation Loc, FileEntryRef Entry, bool IsSystem) override { StringRef Filename = Entry.getName(); - DepCollector.maybeAddDependency(Filename, - /*FromModule*/ false, + DepCollector.maybeAddDependency(Filename, /*FromModule*/ false, /*IsSystem*/ IsSystem, /*IsModuleFile*/ false, - /*FileMgr*/ nullptr, /*IsMissing*/ false); } }; @@ -128,10 +119,8 @@ struct DepCollectorASTListener : public ASTReaderListener { } void visitModuleFile(StringRef Filename, serialization::ModuleKind Kind) override { - DepCollector.maybeAddDependency(Filename, - /*FromModule*/ true, + DepCollector.maybeAddDependency(Filename, /*FromModule*/ true, /*IsSystem*/ false, /*IsModuleFile*/ true, - /*FileMgr*/ nullptr, /*IsMissing*/ false); } bool visitInputFile(StringRef Filename, bool IsSystem, @@ -145,7 +134,7 @@ struct DepCollectorASTListener : public ASTReaderListener { Filename = FE->getName(); DepCollector.maybeAddDependency(Filename, /*FromModule*/ true, IsSystem, - /*IsModuleFile*/ false, /*FileMgr*/ nullptr, + /*IsModuleFile*/ false, /*IsMissing*/ false); return true; } @@ -155,15 +144,9 @@ struct DepCollectorASTListener : public ASTReaderListener { void DependencyCollector::maybeAddDependency(StringRef Filename, bool FromModule, bool IsSystem, bool IsModuleFile, - FileManager *FileMgr, bool IsMissing) { - if (sawDependency(Filename, FromModule, IsSystem, IsModuleFile, IsMissing)) { - if (IsSystem && FileMgr && shouldCanonicalizeSystemDependencies()) { - if (auto F = FileMgr->getOptionalFileRef(Filename)) - Filename = FileMgr->getCanonicalName(*F); - } + if (sawDependency(Filename, FromModule, IsSystem, IsModuleFile, IsMissing)) addDependency(Filename); - } } bool DependencyCollector::addDependency(StringRef Filename) { @@ -211,7 +194,6 @@ DependencyFileGenerator::DependencyFileGenerator( const DependencyOutputOptions &Opts) : OutputFile(Opts.OutputFile), Targets(Opts.Targets), IncludeSystemHeaders(Opts.IncludeSystemHeaders), - CanonicalSystemHeaders(Opts.CanonicalSystemHeaders), PhonyTarget(Opts.UsePhonyTargets), AddMissingHeaderDeps(Opts.AddMissingHeaderDeps), SeenMissingHeader(false), IncludeModuleFiles(Opts.IncludeModuleFiles), |