summaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2008-08-21 11:25:28 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2008-08-21 11:25:28 +0000
commitcae444de225e07fb30dedab6ea8ea12356242a14 (patch)
tree610e178ec54f2b0d0f38da0dfdb5f3a5065c0490 /gcc/tree-vrp.c
parentc6f1d124c9175e00b8d548b4b122d064e51d68e3 (diff)
downloadgcc-cae444de225e07fb30dedab6ea8ea12356242a14.tar.gz
2008-08-21 Richard Guenther <rguenther@suse.de>
PR tree-optimization/37181 * tree-vrp.c (extract_range_from_binary_expr): Check for NULL folding result. (extract_range_from_unary_expr): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139375 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r--gcc/tree-vrp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index a71002fd9e4..a61f292c43f 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -2062,7 +2062,8 @@ extract_range_from_binary_expr (value_range_t *vr,
&& (op1 = op_with_constant_singleton_value_range (op1)) != NULL_TREE)
{
tree tem = fold_binary (code, expr_type, op0, op1);
- if (is_gimple_min_invariant (tem)
+ if (tem
+ && is_gimple_min_invariant (tem)
&& !is_overflow_infinity (tem))
{
set_value_range (vr, VR_RANGE, tem, tem, NULL);
@@ -2477,7 +2478,8 @@ extract_range_from_unary_expr (value_range_t *vr, enum tree_code code,
if ((op0 = op_with_constant_singleton_value_range (op0)) != NULL_TREE)
{
tree tem = fold_unary (code, type, op0);
- if (is_gimple_min_invariant (tem)
+ if (tem
+ && is_gimple_min_invariant (tem)
&& !is_overflow_infinity (tem))
{
set_value_range (vr, VR_RANGE, tem, tem, NULL);