================ @@ -3298,7 +3298,18 @@ static void RenderFloatingPointOptions(const ToolChain &TC, const Driver &D, } // Handle __FINITE_MATH_ONLY__ similarly. - if (!HonorINFs && !HonorNaNs) + bool InfValues = true; + bool NanValues = true; + auto processArg = [&](const auto *Arg) { + if (StringRef(Arg->getValue()) == "-menable-no-nans") + NanValues = false; + if (StringRef(Arg->getValue()) == "-menable-no-infs") + InfValues = false; + }; + for (auto *Arg : Args.filtered(options::OPT_Xclang)) + processArg(Arg); ---------------- zahiraam wrote:
Are you thinking of something like this? `// Handle __FINITE_MATH_ONLY__ similarly.` ` if (!HonorINFs && !HonorNaNs)` ` CmdArgs.push_back("-ffinite-math-only");` `else {` ` bool InfValues = true;` `bool NanValues = true;` `auto processArg = [&](const auto *Arg) {` `if (StringRef(Arg->getValue()) == "-menable-no-nans")` `NanValues = false;` ` if (StringRef(Arg->getValue()) == "-menable-no-infs")` `InfValues = false;` ` };` `for (auto *Arg : Args.filtered(options::OPT_Xclang))` `processArg(Arg);` ` if (!NanValues && !InfValues)` `CmdArgs.push_back("-ffinite-math-only");` ` }` https://github.com/llvm/llvm-project/pull/97342 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits