diff options
author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-09-03 20:57:31 +0000 |
---|---|---|
committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-09-03 20:57:31 +0000 |
commit | 5466f589d34436774d3c0e07a0c2345286b1770d (patch) | |
tree | da5fba2f01a46c7f97234721542e808b855bd505 /gcc/flags.h | |
parent | 390c9ebb553a4998e656fbfee4d2d530c7e0692e (diff) | |
download | gcc-5466f589d34436774d3c0e07a0c2345286b1770d.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71032 138bc75d-0d04-0410-961f-82ee72b054a4
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 6195fee365d..823aaefb32d 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 */ |