[clang] 18b27e7 - [SystemZ][z/OS] Mark the -msoft-float option as unsupported on z/OS (#204209)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 17 07:24:56 PDT 2026
Author: Abhina Sree
Date: 2026-06-17T10:24:50-04:00
New Revision: 18b27e71c4276b186ad834d1a792f8e8d92993dd
URL: https://github.com/llvm/llvm-project/commit/18b27e71c4276b186ad834d1a792f8e8d92993dd
DIFF: https://github.com/llvm/llvm-project/commit/18b27e71c4276b186ad834d1a792f8e8d92993dd.diff
LOG: [SystemZ][z/OS] Mark the -msoft-float option as unsupported on z/OS (#204209)
This patch unsupports the -msoft-float option for z/OS
Added:
clang/test/Driver/zos-err-options.c
Modified:
clang/lib/Driver/ToolChains/Clang.cpp
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index dcab2e41391bb..fdd76680bed4b 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -2143,8 +2143,15 @@ void Clang::AddSystemZTargetArgs(const ArgList &Args,
systemz::FloatABI FloatABI =
systemz::getSystemZFloatABI(getToolChain().getDriver(), Args);
bool HasSoftFloat = (FloatABI == systemz::FloatABI::Soft);
+
+ // Only hard float ABI (-mhard-float) is supported on z/OS.
+ const Driver &D = getToolChain().getDriver();
+ const llvm::Triple &Triple = getToolChain().getTriple();
+ if (HasSoftFloat && Triple.isOSzOS()) {
+ D.Diag(diag::err_drv_unsupported_opt_for_target)
+ << "-msoft-float" << Triple.str();
+ }
if (HasBackchain && HasPackedStack && !HasSoftFloat) {
- const Driver &D = getToolChain().getDriver();
D.Diag(diag::err_drv_unsupported_opt)
<< "-mpacked-stack -mbackchain -mhard-float";
}
diff --git a/clang/test/Driver/zos-err-options.c b/clang/test/Driver/zos-err-options.c
new file mode 100644
index 0000000000000..9382634d60755
--- /dev/null
+++ b/clang/test/Driver/zos-err-options.c
@@ -0,0 +1,3 @@
+// RUN: not %clang -msoft-float --target=s390x-none-zos 2>&1 %s | FileCheck %s
+
+// CHECK: error: unsupported option '-msoft-float' for target 's390x-none-zos'
More information about the cfe-commits
mailing list