aboutsummaryrefslogtreecommitdiff
path: root/gcc/real.h
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2005-01-21 17:54:26 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2005-01-21 17:54:26 +0000
commitd284eb28eb6f3ef8c3f27e7428b8cdc8e51d965f (patch)
tree87965b49d99f08cdf39d5e6360e95fccbda397a3 /gcc/real.h
parenta101957b98129887878b4e98830147e49fa4f655 (diff)
downloadgcc-d284eb28eb6f3ef8c3f27e7428b8cdc8e51d965f.zip
gcc-d284eb28eb6f3ef8c3f27e7428b8cdc8e51d965f.tar.gz
gcc-d284eb28eb6f3ef8c3f27e7428b8cdc8e51d965f.tar.bz2
re PR rtl-optimization/576 (gcc performs invalid optimization with float operations when different rounding mode.)
PR rtl-optimization/576 * real.c (real_arithmetic): Change return type from void to bool to return an indication that the result may be inexact. * real.h (real_arithmeric): Update prototype. * fold-const.c (const_binop): Don't constant fold floating point expressions when the user specifies -frounding-math and the result may depend upon the run-time rounding mode. (fold_convert_const_real_from_real): Clean-up. (fold_initializer): Ignore flag_rounding_math for initializers. * simplify-rtx.c (simplify_binary_operation): Likewise, don't constant fold FP operations with flag_rounding_math if the result may depend upon the run-time rounding mode. From-SVN: r94020
Diffstat (limited to 'gcc/real.h')
-rw-r--r--gcc/real.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/real.h b/gcc/real.h
index c477be1..b7cf3bb 100644
--- a/gcc/real.h
+++ b/gcc/real.h
@@ -160,7 +160,7 @@ extern const struct real_format *
/* Declare functions in real.c. */
/* Binary or unary arithmetic on tree_code. */
-extern void real_arithmetic (REAL_VALUE_TYPE *, int, const REAL_VALUE_TYPE *,
+extern bool real_arithmetic (REAL_VALUE_TYPE *, int, const REAL_VALUE_TYPE *,
const REAL_VALUE_TYPE *);
/* Compare reals by tree_code. */