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/3] 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/3] 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' >From 5c77d9ef825c8866a65c6608b38e010bdce8e812 Mon Sep 17 00:00:00 2001 From: Abhina Sree <[email protected]> Date: Wed, 17 Jun 2026 09:26:22 -0400 Subject: [PATCH 3/3] Apply suggestion from @zibi2 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 a537f182d9c9f..9382634d60755 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-none-zos 2>&1 %s | FileCheck %s -// CHECK: error: unsupported option '-msoft-float' for target 's390x-unknown-zos' +// 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
