aboutsummaryrefslogtreecommitdiff
path: root/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp')
-rw-r--r--clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
index 4201f04..9fba63b 100644
--- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
@@ -504,14 +504,14 @@ Expected<StringRef> clang(ArrayRef<StringRef> InputFiles, const ArgList &Args) {
{"-Xlinker",
Args.MakeArgString("--plugin-opt=" + StringRef(Arg->getValue()))});
- if (!Triple.isNVPTX())
+ if (!Triple.isNVPTX() && !Triple.isSPIRV())
CmdArgs.push_back("-Wl,--no-undefined");
for (StringRef InputFile : InputFiles)
CmdArgs.push_back(InputFile);
// If this is CPU offloading we copy the input libraries.
- if (!Triple.isAMDGPU() && !Triple.isNVPTX()) {
+ if (!Triple.isAMDGPU() && !Triple.isNVPTX() && !Triple.isSPIRV()) {
CmdArgs.push_back("-Wl,-Bsymbolic");
CmdArgs.push_back("-shared");
ArgStringList LinkerArgs;
@@ -595,6 +595,7 @@ Expected<StringRef> linkDevice(ArrayRef<StringRef> InputFiles,
case Triple::aarch64_be:
case Triple::ppc64:
case Triple::ppc64le:
+ case Triple::spirv64:
case Triple::systemz:
case Triple::loongarch64:
return generic::clang(InputFiles, Args);