diff options
author | James A. Morrison <phython@gcc.gnu.org> | 2005-08-02 05:08:40 +0000 |
---|---|---|
committer | James A. Morrison <phython@gcc.gnu.org> | 2005-08-02 05:08:40 +0000 |
commit | 08303d5bb44c250c178aeb53b70027a9ad188bb8 (patch) | |
tree | 16b6683d313862b82824f5eafd47f482809349c4 /gcc/tree-vrp.c | |
parent | bf2f9588069b547f28ddd4fbc6d0eae443d99d97 (diff) | |
download | gcc-08303d5bb44c250c178aeb53b70027a9ad188bb8.zip gcc-08303d5bb44c250c178aeb53b70027a9ad188bb8.tar.gz gcc-08303d5bb44c250c178aeb53b70027a9ad188bb8.tar.bz2 |
re PR tree-optimization/23129 (VRP propagates division of antiranges incorrectly)
2005-08-02 James A. Morrison <phython@gcc.gnu.org>
PR tree-optimization/23129
* tree-vrp.c (extract_range_from_binary_expr): Set value range to
varying for divisions with anti-ranges.
From-SVN: r102653
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 68960e5..68bcb1e 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -1136,7 +1136,8 @@ extract_range_from_binary_expr (value_range_t *vr, tree expr) the new range. */ /* Divisions by zero result in a VARYING value. */ - if (code != MULT_EXPR && range_includes_zero_p (&vr1)) + if (code != MULT_EXPR + && (vr0.type == VR_ANTI_RANGE || range_includes_zero_p (&vr1))) { set_value_range_to_varying (vr); return; |