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
