aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-06-17 11:44:02 +0000
committerJeff Law <law@gcc.gnu.org>1998-06-17 05:44:02 -0600
commitdbecbbe48af59a29adadd6e6dc8895e64764adb4 (patch)
tree5f8204f11538f0d3f56395877d68c0bbfd75f9b7 /gcc/fold-const.c
parenta5b8127eb13cce7fa4ddf8e4337f6e9fe67d1dc4 (diff)
downloadgcc-dbecbbe48af59a29adadd6e6dc8895e64764adb4.zip
gcc-dbecbbe48af59a29adadd6e6dc8895e64764adb4.tar.gz
gcc-dbecbbe48af59a29adadd6e6dc8895e64764adb4.tar.bz2
expr.c (check_max_integer_computation_mode): New function.
* expr.c (check_max_integer_computation_mode): New function. (expand_expr): Avoid integer computations in modes wider than MAX_INTEGER_COMPUTATION_MODE. * fold-const.c (fold): Likewise. * tree.h (check_max_integer_computation_mode): Declare. * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it. From-SVN: r20538
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 5daa253..b75da2e 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -3797,6 +3797,10 @@ fold (expr)
return t;
}
+#ifdef MAX_INTEGER_COMPUTATION_MODE
+ check_max_integer_computation_mode (expr);
+#endif
+
kind = TREE_CODE_CLASS (code);
if (code == NOP_EXPR || code == FLOAT_EXPR || code == CONVERT_EXPR)
{