diff options
author | Eric Botcazou <ebotcazou@libertysurf.fr> | 2007-11-19 07:27:31 +0100 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2007-11-19 06:27:31 +0000 |
commit | c5edab650de5e1e148c08d7396bfdbf034c0d5a6 (patch) | |
tree | 1e272b2a1434330c1d37940c486411e9cb30b2a8 /gcc/opts.c | |
parent | 88af50ebcd002284ee32bd0a67eccccea1fac47c (diff) | |
download | gcc-c5edab650de5e1e148c08d7396bfdbf034c0d5a6.zip gcc-c5edab650de5e1e148c08d7396bfdbf034c0d5a6.tar.gz gcc-c5edab650de5e1e148c08d7396bfdbf034c0d5a6.tar.bz2 |
re PR tree-optimization/34036 (ICE with control flow in the middle of basic block for -fnon-call-exceptions)
PR tree-optimization/34036
* opts.c (set_fast_math_flags): Do not set flags in common
with set_unsafe_math_optimizations_flags, invoke it directly.
(set_unsafe_math_optimizations_flags): Unset flag_trapping_math
and flag_signed_zeros.
* toplev.c (process_options): Force flag_associative_math to 0 and
warn, if it is set and either flag_trapping_math or flag_signed_zeros
is set too.
* doc/invoke.texi (Optimize Options): Document the new behavior
of -funsafe-math-optimizations, that -fassociative-math requires
both -fno-signed-zeros and -fno-trapping-math and make it clear
that -fno-trapping-math requires -fno-signaling-nans.
From-SVN: r130286
Diffstat (limited to 'gcc/opts.c')
-rw-r--r-- | gcc/opts.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -1868,12 +1868,9 @@ set_Wstrict_aliasing (int onoff) void set_fast_math_flags (int set) { - flag_trapping_math = !set; flag_unsafe_math_optimizations = set; - flag_associative_math = set; - flag_reciprocal_math = set; + set_unsafe_math_optimizations_flags (set); flag_finite_math_only = set; - flag_signed_zeros = !set; flag_errno_math = !set; if (set) { @@ -1888,8 +1885,10 @@ set_fast_math_flags (int set) void set_unsafe_math_optimizations_flags (int set) { - flag_reciprocal_math = set; + flag_trapping_math = !set; + flag_signed_zeros = !set; flag_associative_math = set; + flag_reciprocal_math = set; } /* Return true iff flags are set as if -ffast-math. */ |