[clang] 681cb54 - [Driver] Fix duplicate -L after D150013
Fangrui Song via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 7 23:57:49 PDT 2023
Author: Fangrui Song
Date: 2023-07-07T23:57:45-07:00
New Revision: 681cb54a54bb60dea9034b4b0b45ccc392875b9a
URL: https://github.com/llvm/llvm-project/commit/681cb54a54bb60dea9034b4b0b45ccc392875b9a
DIFF: https://github.com/llvm/llvm-project/commit/681cb54a54bb60dea9034b4b0b45ccc392875b9a.diff
LOG: [Driver] Fix duplicate -L after D150013
D150013 is to render -L for AMDGPU but updating tools::AddLinkerInputs is wrong
and causes many non-isCrossCompiling targets to have duplicate -L options
because they do `Args.AddAllArgs(CmdArgs, options::OPT_L);`.
Revert the change and add a `Args.AddAllArgs(CmdArgs, options::OPT_L);` instead.
Added:
Modified:
clang/lib/Driver/ToolChains/AMDGPU.cpp
clang/lib/Driver/ToolChains/CommonArgs.cpp
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp b/clang/lib/Driver/ToolChains/AMDGPU.cpp
index 4684068b817b47..2a5b4b66275ff6 100644
--- a/clang/lib/Driver/ToolChains/AMDGPU.cpp
+++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp
@@ -552,6 +552,7 @@ void amdgpu::Linker::ConstructJob(Compilation &C, const JobAction &JA,
std::string Linker = getToolChain().GetProgramPath(getShortName());
ArgStringList CmdArgs;
addLinkerCompressDebugSectionsOption(getToolChain(), Args, CmdArgs);
+ Args.AddAllArgs(CmdArgs, options::OPT_L);
AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA);
if (C.getDriver().isUsingLTO())
addLTOOptions(getToolChain(), Args, CmdArgs, Output, Inputs[0],
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index 61b26cf1d3d196..a58058fdcd6c3d 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -262,11 +262,9 @@ void tools::AddLinkerInputs(const ToolChain &TC, const InputInfoList &Inputs,
Args.AddAllArgValues(CmdArgs, options::OPT_Zlinker_input);
// LIBRARY_PATH are included before user inputs and only supported on native
- // toolchains. Otherwise only add the '-L' arguments requested by the user.
+ // toolchains.
if (!TC.isCrossCompiling())
addDirectoryList(Args, CmdArgs, "-L", "LIBRARY_PATH");
- else
- Args.AddAllArgs(CmdArgs, options::OPT_L);
for (const auto &II : Inputs) {
// If the current tool chain refers to an OpenMP offloading host, we
More information about the cfe-commits
mailing list