https://github.com/MrSidims created 
https://github.com/llvm/llvm-project/pull/183492

It feels awkward, but it seems like it's a drawback of the current design. As 
sanity check constructLldCommand also has this check.

>From 289db41b7ec3762fd0498af7168b89b860772aa4 Mon Sep 17 00:00:00 2001
From: Dmitry Sidorov <[email protected]>
Date: Thu, 26 Feb 2026 05:04:12 -0600
Subject: [PATCH] [HIP] Check if Input is a file before constructing link job

It feels awkward, but it seems like it's a drawback of the current
design. As sanity check constructLldCommand also has this check.
---
 clang/lib/Driver/ToolChains/HIPAMD.cpp | 10 ++++++++--
 clang/lib/Driver/ToolChains/SPIRV.cpp  |  5 ++++-
 2 files changed, 12 insertions(+), 3 deletions(-)

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);
 }

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to