summaryrefslogtreecommitdiff
path: root/gcc/flags.h
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-03 20:57:31 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-03 20:57:31 +0000
commit5466f589d34436774d3c0e07a0c2345286b1770d (patch)
treeda5fba2f01a46c7f97234721542e808b855bd505 /gcc/flags.h
parent390c9ebb553a4998e656fbfee4d2d530c7e0692e (diff)
downloadgcc-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.h7
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 */