aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2013-08-13 15:52:26 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2013-08-13 15:52:26 +0000
commit2efdbf0f3c085ca257f06acf045a8d9e8586df04 (patch)
tree69698594f1d05668a52f209986e0400e4a090892 /gcc/ada/gcc-interface
parentb5f8f063a79bbaba332a255da3c59cfb50522641 (diff)
downloadgcc-2efdbf0f3c085ca257f06acf045a8d9e8586df04.zip
gcc-2efdbf0f3c085ca257f06acf045a8d9e8586df04.tar.gz
gcc-2efdbf0f3c085ca257f06acf045a8d9e8586df04.tar.bz2
trans.c (can_equal_min_or_max_val_p): Be prepared for values outside of the range of the type.
* gcc-interface/trans.c (can_equal_min_or_max_val_p): Be prepared for values outside of the range of the type. From-SVN: r201692
Diffstat (limited to 'gcc/ada/gcc-interface')
-rw-r--r--gcc/ada/gcc-interface/trans.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index f91f4b8..fdd59a8 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -2391,7 +2391,10 @@ can_equal_min_or_max_val_p (tree val, tree type, bool max)
if (TREE_CODE (val) != INTEGER_CST)
return true;
- return tree_int_cst_equal (val, min_or_max_val) == 1;
+ if (max)
+ return tree_int_cst_lt (val, min_or_max_val) == 0;
+ else
+ return tree_int_cst_lt (min_or_max_val, val) == 0;
}
/* Return true if VAL (of type TYPE) can equal the minimum value of TYPE.