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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
So we get

[irange] UNDEFINED

into range_fits_type_p and then

  /* We can only handle integral and pointer types.  */
  src_type = vr->type (); 
  if (!INTEGRAL_TYPE_P (src_type)
      && !POINTER_TYPE_P (src_type))
    return false;

this check is a bit dubious given an 'irange' should guarantee this.  We
are later checking

 /* Now we can only handle ranges with constant bounds.  */
  if (vr->undefined_p () || vr->varying_p ())
    return false;

anyway, so do this early.

Reply via email to