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'


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

Reply via email to