[flang] Add -f[no-]signed-zeros
Only add the option processing and store the result. No attributes are
added to FIR yet.
Differential Revision: https://reviews.llvm.org/D137328
diff --git a/clang/lib/Driver/ToolChains/Flang.cpp b/clang/lib/Driver/ToolChains/Flang.cpp
index 0e82194..a5b4712 100644
--- a/clang/lib/Driver/ToolChains/Flang.cpp
+++ b/clang/lib/Driver/ToolChains/Flang.cpp
@@ -86,6 +86,7 @@
bool HonorINFs = true;
bool HonorNaNs = true;
bool ApproxFunc = false;
+ bool SignedZeros = true;
if (const Arg *A = Args.getLastArg(options::OPT_ffp_contract)) {
const StringRef Val = A->getValue();
@@ -129,6 +130,12 @@
case options::OPT_fno_approx_func:
ApproxFunc = false;
break;
+ case options::OPT_fsigned_zeros:
+ SignedZeros = true;
+ break;
+ case options::OPT_fno_signed_zeros:
+ SignedZeros = false;
+ break;
}
// If we handled this option claim it
@@ -146,6 +153,9 @@
if (ApproxFunc)
CmdArgs.push_back("-fapprox-func");
+
+ if (!SignedZeros)
+ CmdArgs.push_back("-fno-signed-zeros");
}
void Flang::ConstructJob(Compilation &C, const JobAction &JA,