Deleted Added
full compact
433,437c433,440
< // Check if -ffast-math or -funsafe-math is enabled.
< Arg *A = Args.getLastArg(options::OPT_ffast_math,
< options::OPT_fno_fast_math,
< options::OPT_funsafe_math_optimizations,
< options::OPT_fno_unsafe_math_optimizations);
---
> // Do not check for -fno-fast-math or -fno-unsafe-math when -Ofast passed
> // (to keep the linker options consistent with gcc and clang itself).
> if (!isOptimizationLevelFast(Args)) {
> // Check if -ffast-math or -funsafe-math.
> Arg *A =
> Args.getLastArg(options::OPT_ffast_math, options::OPT_fno_fast_math,
> options::OPT_funsafe_math_optimizations,
> options::OPT_fno_unsafe_math_optimizations);
439,442c442,445
< if (!A || A->getOption().getID() == options::OPT_fno_fast_math ||
< A->getOption().getID() == options::OPT_fno_unsafe_math_optimizations)
< return false;
<
---
> if (!A || A->getOption().getID() == options::OPT_fno_fast_math ||
> A->getOption().getID() == options::OPT_fno_unsafe_math_optimizations)
> return false;
> }