aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-07-18 00:26:51 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-07-18 00:26:51 +0000
commit3e4093b64f2e2623bba32e733e7e8f08efc700ac (patch)
tree3875a0446ee77a593d30fb10e6a14b62fcc0f4ec /gcc/tree.h
parent35c77862c921a82a9d2bc4175dc041bd1e99e2bd (diff)
downloadgcc-3e4093b64f2e2623bba32e733e7e8f08efc700ac.zip
gcc-3e4093b64f2e2623bba32e733e7e8f08efc700ac.tar.gz
gcc-3e4093b64f2e2623bba32e733e7e8f08efc700ac.tar.bz2
fold-const.c (const_binop): Avoid performing the FP operation at compile-time...
* fold-const.c (const_binop): Avoid performing the FP operation at compile-time, if either operand is NaN and we honor signaling NaNs, or if we're dividing by zero and either flag_trapping_math is set or the desired mode doesn't support infinities. (fold_initializer): New function to fold an expression ignoring any potential run-time exceptions or traps. * tree.h (fold_initializer): Prototype here. * c-typeck.c (build_binary_op): Move to the end of the file so that intializer_stack is in scope. If constructing an initializer, i.e. when initializer_stack is not NULL, use fold_initializer to fold expressions. * simplify-rtx.c (simplify_binary_operation): Likewise, avoid performing FP operations at compile-time, if they would raise an exception at run-time. From-SVN: r69533
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 04ad1d0..b627a98 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2715,6 +2715,7 @@ extern void using_eh_for_cleanups (void);
subexpressions are not changed. */
extern tree fold (tree);
+extern tree fold_initializer (tree);
extern tree fold_single_bit_test (enum tree_code, tree, tree, tree);
extern int force_fit_type (tree, int);