aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2005-12-02 04:40:05 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2005-12-02 04:40:05 +0000
commit87f2a9f57bfc1a95934202110badb4d1a31409ed (patch)
tree47739b99c89ff7ea1c1f4167c8dc616b6a27c981 /gcc/tree-vrp.c
parentcf84391c40d0f336cd8e5981ab7cae08fcde341e (diff)
downloadgcc-87f2a9f57bfc1a95934202110badb4d1a31409ed.zip
gcc-87f2a9f57bfc1a95934202110badb4d1a31409ed.tar.gz
gcc-87f2a9f57bfc1a95934202110badb4d1a31409ed.tar.bz2
tree.h (TREE_OVERFLOW): Make this flag/predicate specific to constant nodes, i.e.
* tree.h (TREE_OVERFLOW): Make this flag/predicate specific to constant nodes, i.e. INTEGER_CST, REAL_CST, etc... * tree-vrp.c (compare_values): Only check TREE_OVERFLOW for integer constant comparisons. ada/ * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST nodes. From-SVN: r107870
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r--gcc/tree-vrp.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index af632e6..0797b5c 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -528,12 +528,14 @@ compare_values (tree val1, tree val2)
if (!is_gimple_min_invariant (val1) || !is_gimple_min_invariant (val2))
return -2;
- /* We cannot compare overflowed values. */
- if (TREE_OVERFLOW (val1) || TREE_OVERFLOW (val2))
- return -2;
-
if (!POINTER_TYPE_P (TREE_TYPE (val1)))
- return tree_int_cst_compare (val1, val2);
+ {
+ /* We cannot compare overflowed values. */
+ if (TREE_OVERFLOW (val1) || TREE_OVERFLOW (val2))
+ return -2;
+
+ return tree_int_cst_compare (val1, val2);
+ }
else
{
tree t;