2323#include " llvm/ADT/StringSet.h"
2424#include " llvm/Support/FileSystem.h"
2525#include " llvm/Support/Path.h"
26- #include " llvm/Support/VirtualFileSystem.h"
2726#include " llvm/Support/raw_ostream.h"
2827#include < optional>
29- #include < system_error>
3028
3129using namespace clang ;
3230
@@ -238,7 +236,6 @@ void DependencyFileGenerator::attachToPreprocessor(Preprocessor &PP) {
238236 PP.SetSuppressIncludeNotFoundError (true );
239237
240238 DependencyCollector::attachToPreprocessor (PP);
241- FS = PP.getFileManager ().getVirtualFileSystemPtr ();
242239}
243240
244241bool DependencyFileGenerator::sawDependency (StringRef Filename, bool FromModule,
@@ -315,22 +312,11 @@ void DependencyFileGenerator::finishedMainFile(DiagnosticsEngine &Diags) {
315312// / https://msdn.microsoft.com/en-us/library/dd9y37ha.aspx for NMake info,
316313// / https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
317314// / for Windows file-naming info.
318- static void printFilename (raw_ostream &OS, llvm::vfs::FileSystem *FS,
319- StringRef Filename,
315+ static void PrintFilename (raw_ostream &OS, StringRef Filename,
320316 DependencyOutputFormat OutputFormat) {
321317 // Convert filename to platform native path
322318 llvm::SmallString<256 > NativePath;
323319 llvm::sys::path::native (Filename.str (), NativePath);
324- // Resolve absolute path. Make and Ninja canonicalize paths
325- // without checking for symbolic links in the path, for performance concerns.
326- // If there is something like `/bin/../lib64` -> `/usr/lib64`
327- // (where `/bin` links to `/usr/bin`), Make will see them as `/lib64`.
328- if (FS != nullptr && llvm::sys::path::is_absolute (NativePath)) {
329- llvm::SmallString<256 > NativePathTmp = NativePath;
330- std::error_code EC = FS->getRealPath (NativePathTmp, NativePath);
331- if (EC)
332- NativePath = NativePathTmp;
333- }
334320
335321 if (OutputFormat == DependencyOutputFormat::NMake) {
336322 // Add quotes if needed. These are the characters listed as "special" to
@@ -414,7 +400,7 @@ void DependencyFileGenerator::outputDependencyFile(llvm::raw_ostream &OS) {
414400 Columns = 2 ;
415401 }
416402 OS << ' ' ;
417- printFilename (OS, FS. get () , File, OutputFormat);
403+ PrintFilename (OS, File, OutputFormat);
418404 Columns += N + 1 ;
419405 }
420406 OS << ' \n ' ;
@@ -425,7 +411,7 @@ void DependencyFileGenerator::outputDependencyFile(llvm::raw_ostream &OS) {
425411 for (auto I = Files.begin (), E = Files.end (); I != E; ++I) {
426412 if (Index++ == InputFileIndex)
427413 continue ;
428- printFilename (OS, FS. get () , *I, OutputFormat);
414+ PrintFilename (OS, *I, OutputFormat);
429415 OS << " :\n " ;
430416 }
431417 }
0 commit comments