[clang] [HIP] Check if Input is a file before constructing link job (PR #183492)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 26 03:06:46 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-driver
@llvm/pr-subscribers-clang
Author: Dmitry Sidorov (MrSidims)
<details>
<summary>Changes</summary>
It feels awkward, but it seems like it's a drawback of the current design. As sanity check constructLldCommand also has this check.
---
Full diff: https://github.com/llvm/llvm-project/pull/183492.diff
2 Files Affected:
- (modified) clang/lib/Driver/ToolChains/HIPAMD.cpp (+8-2)
- (modified) clang/lib/Driver/ToolChains/SPIRV.cpp (+4-1)
``````````diff
diff --git a/clang/lib/Driver/ToolChains/HIPAMD.cpp b/clang/lib/Driver/ToolChains/HIPAMD.cpp
index 31f0c5581f568..979461d716d03 100644
--- a/clang/lib/Driver/ToolChains/HIPAMD.cpp
+++ b/clang/lib/Driver/ToolChains/HIPAMD.cpp
@@ -39,8 +39,11 @@ void AMDGCN::Linker::constructLLVMLinkCommand(
ArgStringList LinkerInputs;
- for (auto Input : Inputs)
+ for (auto Input : Inputs) {
+ if (!Input.isFilename())
+ continue;
LinkerInputs.push_back(Input.getFilename());
+ }
// Look for archive of bundled bitcode in arguments, and add temporary files
// for the extracted archive of bitcode to inputs.
@@ -131,8 +134,11 @@ void AMDGCN::Linker::constructLldCommand(Compilation &C, const JobAction &JA,
}
LldArgs.append({"-o", Output.getFilename()});
- for (auto Input : Inputs)
+ for (auto Input : Inputs) {
+ if (!Input.isFilename())
+ continue;
LldArgs.push_back(Input.getFilename());
+ }
// Look for archive of bundled bitcode in arguments, and add temporary files
// for the extracted archive of bitcode to inputs.
diff --git a/clang/lib/Driver/ToolChains/SPIRV.cpp b/clang/lib/Driver/ToolChains/SPIRV.cpp
index a59bd05cac0cf..413ae34aa23c5 100644
--- a/clang/lib/Driver/ToolChains/SPIRV.cpp
+++ b/clang/lib/Driver/ToolChains/SPIRV.cpp
@@ -83,8 +83,11 @@ void SPIRV::constructLLVMLinkCommand(Compilation &C, const Tool &T,
ArgStringList LlvmLinkArgs;
- for (auto Input : Inputs)
+ for (auto Input : Inputs) {
+ if (!Input.isFilename())
+ continue;
LlvmLinkArgs.push_back(Input.getFilename());
+ }
tools::constructLLVMLinkCommand(C, T, JA, Inputs, LlvmLinkArgs, Output, Args);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/183492
More information about the cfe-commits
mailing list