================ @@ -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); ---------------- AaronBallman wrote:
Instead of filtering all arguments to cc1 and looping over all of them, can we use `Args.getLastArg()`? And can we skip that processing if we already know we're doing to pass `-ffinite-math-only` because of `(!HonorINFs && !HonorNaNs)`? 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