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

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Martin Sebor from comment #7)
> Here's what I see in GDB after get_range_info returns to update_value_range:
> 
> (gdb) p rtype
> $39 = VR_ANTI_RANGE
> (gdb) p min
> $40 = {<wide_int_storage> = {val = {128, 18061790, 140737235530016}, len =
> 1, precision = 64}, static is_sign_extended = <optimized out>}
> (gdb) p max
> $41 = {<wide_int_storage> = {val = {-129, 18061836, 140737235530016}, len =
> 1, precision = 64}, static is_sign_extended = <optimized out>}

wide_int_storage has no interpretation of the bits that is it can be either
unsigned or 2 comp signed.  You need to know the type (signed or unsigned) to
figure out that.

Reply via email to