https://github.com/abhina-sree updated 
https://github.com/llvm/llvm-project/pull/204209

>From 6386166d0ba57b6aa086ed65be16c4d6db2bd484 Mon Sep 17 00:00:00 2001
From: Abhina Sreeskantharajan <[email protected]>
Date: Tue, 16 Jun 2026 13:27:56 -0400
Subject: [PATCH 1/2] This patch unsupports the -msoft-float option for z/OS

---
 clang/lib/Driver/ToolChains/Clang.cpp | 9 ++++++++-
 clang/test/Driver/zos-err-options.c   | 3 +++
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 clang/test/Driver/zos-err-options.c

diff --git a/clang/lib/Driver/ToolChains/Clang.cpp 
b/clang/lib/Driver/ToolChains/Clang.cpp
index 8a0efd70e6c0d..58ffd5fb8c914 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -2138,8 +2138,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..39c8a3732baed
--- /dev/null
+++ b/clang/test/Driver/zos-err-options.c
@@ -0,0 +1,3 @@
+// RUN: not %clang -msoft-float --target=s390x-unknown-zos 2>&1 %s | FileCheck 
%s
+
+// CHECK: error: unsupported option '-msoft-float' for target 
's390x-unknown-zos'

>From 46fd75bce05a30659f4b0babb109d599d0cd5765 Mon Sep 17 00:00:00 2001
From: Abhina Sree <[email protected]>
Date: Wed, 17 Jun 2026 09:26:02 -0400
Subject: [PATCH 2/2] Update clang/test/Driver/zos-err-options.c

Co-authored-by: Zibi Sarbinowski <[email protected]>
---
 clang/test/Driver/zos-err-options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/test/Driver/zos-err-options.c 
b/clang/test/Driver/zos-err-options.c
index 39c8a3732baed..a537f182d9c9f 100644
--- a/clang/test/Driver/zos-err-options.c
+++ b/clang/test/Driver/zos-err-options.c
@@ -1,3 +1,3 @@
-// RUN: not %clang -msoft-float --target=s390x-unknown-zos 2>&1 %s | FileCheck 
%s
+// RUN: not %clang -msoft-float --target=s390x-none-zos 2>&1 %s | FileCheck %s
 
 // CHECK: error: unsupported option '-msoft-float' for target 
's390x-unknown-zos'

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

Reply via email to