aboutsummaryrefslogtreecommitdiff
path: root/gcc/ssa-range.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ssa-range.cc')
-rw-r--r--gcc/ssa-range.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/ssa-range.cc b/gcc/ssa-range.cc
index 3e1ce85966c..9a1dc15b097 100644
--- a/gcc/ssa-range.cc
+++ b/gcc/ssa-range.cc
@@ -387,7 +387,8 @@ ssa_ranger::range_on_edge (irange &r, edge e, tree name)
gcc_checking_assert (valid_ssa_p (name));
range_on_exit (r, e->src, name);
- gcc_checking_assert (r.undefined_p () || r.type() == TREE_TYPE (name));
+ gcc_checking_assert (r.undefined_p ()
+ || types_compatible_p (r.type(), TREE_TYPE (name)));
// Check to see if NAME is defined on edge e.
if (outgoing_edge_range_p (edge_range, e, name, &r))
@@ -509,7 +510,8 @@ ssa_ranger::range_on_exit (irange &r, basic_block bb, tree name)
range_on_entry (r, bb, name);
else
gcc_assert (range_of_expr (r, name, s));
- gcc_checking_assert (r.undefined_p () || r.type() == TREE_TYPE (name));
+ gcc_checking_assert (r.undefined_p ()
+ || types_compatible_p (r.type(), TREE_TYPE (name)));
}
// Calculate a range for range_op statement S given RANGE1 and RANGE2 and