https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88011

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
Thanks for the testcase!

--- a/test.go.115t.dom2 2018-11-16 10:45:27.663896672 +0100
+++ b/test.go.115t.dom2 2018-11-16 10:46:47.945357195 +0100
@@ -13937,7 +13937,7 @@
 LKUP STMT _27 = aWord_58 trunc_div_expr bWord_60
 2>>> STMT _27 = aWord_58 trunc_div_expr bWord_60
 0>>> COPY iftmp.324_13 = _27
-pushing new range for iftmp.324_13: [0, +INF]
+pushing new range for iftmp.324_13: UNDEFINED
 LKUP STMT bWord_60 eq_expr 18446744073709551615
 FIND: 0
 <<<< COPY iftmp.324_13 = _27

that's where things start to differ.

Doh.  Simple mass-change error:

@@ -1882,7 +1873,7 @@ extract_range_from_binary_expr_1 (value_
                               TYPE_OVERFLOW_UNDEFINED (expr_type),
                               extra_range_p, extra_min, extra_max))
        {
-         set_value_range_to_varying (vr);
+         vr->set_undefined ();
          return;
        }
       set_value_range (vr, VR_RANGE,

Reply via email to