From: Martin Storsjo Date: Tue, 23 Oct 2018 07:01:55 +0000 (+0000) Subject: Revert "[Driver] Use forward slashes in most linker arguments" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8ef48b9ced3807e01cfa4ce52c0835a1b9538a2f;p=clang Revert "[Driver] Use forward slashes in most linker arguments" This reverts commit r345004, as it broke tests when actually run on windows; see e.g. http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/763. This broke tests that had captured a variable containing a path with backslashes, which failed to match cases in the output where the path separators had been changed into forward slashes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@345005 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp index 2b76dead57..1667536c56 100644 --- a/lib/Driver/ToolChain.cpp +++ b/lib/Driver/ToolChain.cpp @@ -378,7 +378,7 @@ std::string ToolChain::getCompilerRT(const ArgList &Args, StringRef Component, SmallString<128> P(LibPath); llvm::sys::path::append(P, Prefix + Twine("clang_rt.") + Component + Suffix); if (getVFS().exists(P)) - return llvm::sys::path::convert_to_slash(P); + return P.str(); } StringRef Arch = getArchNameForCompilerRTLib(*this, Args); @@ -386,7 +386,7 @@ std::string ToolChain::getCompilerRT(const ArgList &Args, StringRef Component, SmallString<128> Path(getCompilerRTPath()); llvm::sys::path::append(Path, Prefix + Twine("clang_rt.") + Component + "-" + Arch + Env + Suffix); - return llvm::sys::path::convert_to_slash(Path); + return Path.str(); } const char *ToolChain::getCompilerRTArgString(const llvm::opt::ArgList &Args, @@ -425,7 +425,7 @@ Tool *ToolChain::SelectTool(const JobAction &JA) const { } std::string ToolChain::GetFilePath(const char *Name) const { - return llvm::sys::path::convert_to_slash(D.GetFilePath(Name, *this)); + return D.GetFilePath(Name, *this); } std::string ToolChain::GetProgramPath(const char *Name) const { @@ -774,14 +774,12 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args, void ToolChain::AddFilePathLibArgs(const ArgList &Args, ArgStringList &CmdArgs) const { for (const auto &LibPath : getLibraryPaths()) - if (LibPath.length() > 0) - CmdArgs.push_back(Args.MakeArgString( - StringRef("-L") + llvm::sys::path::convert_to_slash(LibPath))); + if(LibPath.length() > 0) + CmdArgs.push_back(Args.MakeArgString(StringRef("-L") + LibPath)); for (const auto &LibPath : getFilePaths()) - if (LibPath.length() > 0) - CmdArgs.push_back(Args.MakeArgString( - StringRef("-L") + llvm::sys::path::convert_to_slash(LibPath))); + if(LibPath.length() > 0) + CmdArgs.push_back(Args.MakeArgString(StringRef("-L") + LibPath)); } void ToolChain::AddCCKextLibArgs(const ArgList &Args,