diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-09-03 20:57:31 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-09-03 20:57:31 +0000 |
commit | 039c3d42d54967fab2bf452db7133388882a4204 (patch) | |
tree | da5fba2f01a46c7f97234721542e808b855bd505 /gcc/flags.h | |
parent | b689848ffd7859ae06f14fe75ef770d1dc12d737 (diff) | |
download | gcc-039c3d42d54967fab2bf452db7133388882a4204.zip gcc-039c3d42d54967fab2bf452db7133388882a4204.tar.gz gcc-039c3d42d54967fab2bf452db7133388882a4204.tar.bz2 |
toplev.c (flag_rounding_math): New global variable.
* toplev.c (flag_rounding_math): New global variable.
(f_options): Add to the list of language independent options.
* flags.h (flag_rounding_math): Prototype here.
(HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
* common.opt (frounding-math): New common command line option.
* opts.c (common_handle_option): Handle OPT_frounding_math.
(set_fast_math_flags): -ffast-math clears flag_rounding_math.
* doc/invoke.texi: Document this new command line option.
From-SVN: r71032
Diffstat (limited to 'gcc/flags.h')
-rw-r--r-- | gcc/flags.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/flags.h b/gcc/flags.h index 6195fee..823aaef 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -363,6 +363,11 @@ extern int flag_finite_math_only; extern int flag_trapping_math; +/* Nonzero means disable transformations that assume default floating + point rounding behavior. */ + +extern int flag_rounding_math; + /* 0 means straightforward implementation of complex divide acceptable. 1 means wide ranges of inputs must work for complex divide. 2 means C99-like requirements for complex divide (not yet implemented). */ @@ -716,6 +721,6 @@ extern const char *flag_random_seed; /* Like HONOR_NANS, but true if given mode supports sign-dependent rounding, and the rounding mode is important. */ #define HONOR_SIGN_DEPENDENT_ROUNDING(MODE) \ - (MODE_HAS_SIGN_DEPENDENT_ROUNDING (MODE) && !flag_unsafe_math_optimizations) + (MODE_HAS_SIGN_DEPENDENT_ROUNDING (MODE) && flag_rounding_math) #endif /* ! GCC_FLAGS_H */ |