aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2007-11-19 07:27:31 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2007-11-19 06:27:31 +0000
commitc5edab650de5e1e148c08d7396bfdbf034c0d5a6 (patch)
tree1e272b2a1434330c1d37940c486411e9cb30b2a8 /gcc/opts.c
parent88af50ebcd002284ee32bd0a67eccccea1fac47c (diff)
downloadgcc-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.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index 90c9139..8be098f 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -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. */