aboutsummaryrefslogtreecommitdiff
path: root/gcc/flags.h
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-09-03 20:57:31 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-09-03 20:57:31 +0000
commit039c3d42d54967fab2bf452db7133388882a4204 (patch)
treeda5fba2f01a46c7f97234721542e808b855bd505 /gcc/flags.h
parentb689848ffd7859ae06f14fe75ef770d1dc12d737 (diff)
downloadgcc-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.h7
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 */