Author: rsmith Date: Thu Oct 19 17:25:07 2017 New Revision: 316195 URL: http://llvm.org/viewvc/llvm-project?rev=316195&view=rev Log: Revert r316193.
This patch breaks users using -fno-canonical-prefixes, for whom resolving symlinks is not acceptable. Removed: cfe/trunk/test/Preprocessor/dependencies-realpath.c Modified: cfe/trunk/include/clang/Driver/Options.td cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h cfe/trunk/lib/Driver/Job.cpp cfe/trunk/lib/Driver/ToolChains/Clang.cpp cfe/trunk/lib/Frontend/CompilerInvocation.cpp cfe/trunk/lib/Frontend/DependencyFile.cpp cfe/trunk/lib/Tooling/ArgumentsAdjusters.cpp Modified: cfe/trunk/include/clang/Driver/Options.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=316195&r1=316194&r2=316195&view=diff ============================================================================== --- cfe/trunk/include/clang/Driver/Options.td (original) +++ cfe/trunk/include/clang/Driver/Options.td Thu Oct 19 17:25:07 2017 @@ -384,11 +384,6 @@ def MT : JoinedOrSeparate<["-"], "MT">, HelpText<"Specify name of main file output in depfile">; def MV : Flag<["-"], "MV">, Group<M_Group>, Flags<[CC1Option]>, HelpText<"Use NMake/Jom format for the depfile">; -def fno_canonical_system_headers : Flag<["-"], "fno-canonical-system-headers">, - Group<M_Group>, Flags<[CC1Option]>, - HelpText<"Do not shorten system header paths in depfiles">; -def fcanonical_system_headers : Flag<["-"], "fcanonical-system-headers">, - Group<M_Group>; def Mach : Flag<["-"], "Mach">, Group<Link_Group>; def O0 : Flag<["-"], "O0">, Group<O_Group>, Flags<[CC1Option, HelpHidden]>; def O4 : Flag<["-"], "O4">, Group<O_Group>, Flags<[CC1Option, HelpHidden]>; Modified: cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h?rev=316195&r1=316194&r2=316195&view=diff ============================================================================== --- cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h (original) +++ cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h Thu Oct 19 17:25:07 2017 @@ -30,8 +30,6 @@ public: unsigned AddMissingHeaderDeps : 1; ///< Add missing headers to dependency list unsigned PrintShowIncludes : 1; ///< Print cl.exe style /showIncludes info. unsigned IncludeModuleFiles : 1; ///< Include module file dependencies. - unsigned CanonicalSystemHeaders : 1; ///< Try to output a shorter path for - /// system header dependencies. /// The format for the dependency file. DependencyOutputFormat OutputFormat; @@ -69,7 +67,6 @@ public: AddMissingHeaderDeps = 0; PrintShowIncludes = 0; IncludeModuleFiles = 0; - CanonicalSystemHeaders = 1; OutputFormat = DependencyOutputFormat::Make; } }; Modified: cfe/trunk/lib/Driver/Job.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Job.cpp?rev=316195&r1=316194&r2=316195&view=diff ============================================================================== --- cfe/trunk/lib/Driver/Job.cpp (original) +++ cfe/trunk/lib/Driver/Job.cpp Thu Oct 19 17:25:07 2017 @@ -73,8 +73,8 @@ static bool skipArgs(const char *Flag, b // These flags are all of the form -Flag and have no second argument. ShouldSkip = llvm::StringSwitch<bool>(Flag) - .Cases("-M", "-MM", "-MG", "-MP", "-MD", "-MMD", true) - .Cases("-fno-canonical-system-headers", "-fcanonical-system-headers", true) + .Cases("-M", "-MM", "-MG", "-MP", "-MD", true) + .Case("-MMD", true) .Default(false); // Match found. Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=316195&r1=316194&r2=316195&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Thu Oct 19 17:25:07 2017 @@ -964,13 +964,6 @@ void Clang::AddPreprocessingOptions(Comp Args.AddLastArg(CmdArgs, options::OPT_C); Args.AddLastArg(CmdArgs, options::OPT_CC); - if (Arg *A = Args.getLastArg(options::OPT_fno_canonical_system_headers, - options::OPT_fcanonical_system_headers)) { - if (A->getOption().matches(options::OPT_fno_canonical_system_headers)) { - CmdArgs.push_back("-fno-canonical-system-headers"); - } - } - // Handle dependency file generation. if ((A = Args.getLastArg(options::OPT_M, options::OPT_MM)) || (A = Args.getLastArg(options::OPT_MD)) || Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=316195&r1=316194&r2=316195&view=diff ============================================================================== --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original) +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Thu Oct 19 17:25:07 2017 @@ -1002,7 +1002,6 @@ static void ParseDependencyOutputArgs(De Opts.Targets = Args.getAllArgValues(OPT_MT); Opts.IncludeSystemHeaders = Args.hasArg(OPT_sys_header_deps); Opts.IncludeModuleFiles = Args.hasArg(OPT_module_file_deps); - Opts.CanonicalSystemHeaders = !Args.hasArg(OPT_fno_canonical_system_headers); Opts.UsePhonyTargets = Args.hasArg(OPT_MP); Opts.ShowHeaderIncludes = Args.hasArg(OPT_H); Opts.HeaderIncludeOutputFile = Args.getLastArgValue(OPT_header_include_file); Modified: cfe/trunk/lib/Frontend/DependencyFile.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/DependencyFile.cpp?rev=316195&r1=316194&r2=316195&view=diff ============================================================================== --- cfe/trunk/lib/Frontend/DependencyFile.cpp (original) +++ cfe/trunk/lib/Frontend/DependencyFile.cpp Thu Oct 19 17:25:07 2017 @@ -161,7 +161,6 @@ class DFGImpl : public PPCallbacks { bool AddMissingHeaderDeps; bool SeenMissingHeader; bool IncludeModuleFiles; - bool CanonicalSystemHeaders; DependencyOutputFormat OutputFormat; private: @@ -177,7 +176,6 @@ public: AddMissingHeaderDeps(Opts.AddMissingHeaderDeps), SeenMissingHeader(false), IncludeModuleFiles(Opts.IncludeModuleFiles), - CanonicalSystemHeaders(Opts.CanonicalSystemHeaders), OutputFormat(Opts.OutputFormat) { for (const auto &ExtraDep : Opts.ExtraDeps) { AddFilename(ExtraDep); @@ -290,15 +288,6 @@ void DFGImpl::FileChanged(SourceLocation if (!FileMatchesDepCriteria(Filename.data(), FileType)) return; - // Try to shorten system header paths like GCC does (unless - // -fno-canonical-system-headers is given). - if (CanonicalSystemHeaders && isSystem(FileType)) { - StringRef RealPath = FE->tryGetRealPathName(); - if (!RealPath.empty() && RealPath.size() < Filename.size()) { - Filename = RealPath; - } - } - AddFilename(llvm::sys::path::remove_leading_dotslash(Filename)); } Modified: cfe/trunk/lib/Tooling/ArgumentsAdjusters.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/ArgumentsAdjusters.cpp?rev=316195&r1=316194&r2=316195&view=diff ============================================================================== --- cfe/trunk/lib/Tooling/ArgumentsAdjusters.cpp (original) +++ cfe/trunk/lib/Tooling/ArgumentsAdjusters.cpp Thu Oct 19 17:25:07 2017 @@ -58,9 +58,7 @@ ArgumentsAdjuster getClangStripDependenc StringRef Arg = Args[i]; // All dependency-file options begin with -M. These include -MM, // -MF, -MG, -MP, -MT, -MQ, -MD, and -MMD. - // The exception is -f[no-]canonical-system-headers. - if (!Arg.startswith("-M") && Arg != "-fno-canonical-system-headers" && - Arg != "-fcanonical-system-headers") + if (!Arg.startswith("-M")) AdjustedArgs.push_back(Args[i]); if ((Arg == "-MF") || (Arg == "-MT") || (Arg == "-MQ") || Removed: cfe/trunk/test/Preprocessor/dependencies-realpath.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/dependencies-realpath.c?rev=316194&view=auto ============================================================================== --- cfe/trunk/test/Preprocessor/dependencies-realpath.c (original) +++ cfe/trunk/test/Preprocessor/dependencies-realpath.c (removed) @@ -1,33 +0,0 @@ -// RUN: mkdir -p %t/sub/dir -// RUN: echo > %t/sub/empty.h - -// Test that system header paths are expanded -// -// RUN: %clang -fsyntax-only -MD -MF %t.d -MT foo %s -isystem %t/sub/dir/.. -// RUN: FileCheck -check-prefix=TEST1 %s < %t.d -// TEST1: foo: -// TEST1: sub{{/|\\}}empty.h - -// Test that system header paths are not expanded to a longer form -// -// RUN: cd %t && %clang -fsyntax-only -MD -MF %t.d -MT foo %s -isystem sub/dir/.. -// RUN: FileCheck -check-prefix=TEST2 %s < %t.d -// TEST2: foo: -// TEST2: sub/dir/..{{/|\\}}empty.h - -// Test that user header paths are not expanded -// -// RUN: %clang -fsyntax-only -MD -MF %t.d -MT foo %s -I %t/sub/dir/.. -// RUN: FileCheck -check-prefix=TEST3 %s < %t.d -// TEST3: foo: -// TEST3: sub/dir/..{{/|\\}}empty.h - -// Test that system header paths are not expanded with -fno-canonical-system-headers -// (and also that the -fsystem-system-headers option is accepted) -// -// RUN: %clang -fsyntax-only -MD -MF %t.d -MT foo %s -I %t/sub/dir/.. -fcanonical-system-headers -fno-canonical-system-headers -// RUN: FileCheck -check-prefix=TEST4 %s < %t.d -// TEST4: foo: -// TEST4: sub/dir/..{{/|\\}}empty.h - -#include <empty.h> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits