[Bug middle-end/78501] [7 regression] SEGV in vrp_val_max
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Nov 24 08:55:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78501
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #7)
> case FMT_LEN_z:
> dirtype = sign ? signed_type_for (size_type_node) : size_type_node;
> break;
>
> case FMT_LEN_t:
> dirtype = sign ? ptrdiff_type_node : unsigned_type_for
> (ptrdiff_type_node);
> break;
Or maybe even better:
dirtype = signed_or_unsigned_type_for (!sign, size_type_node);
and
dirtype = igned_or_unsigned_type_for (!sign, ptrdiff_type_node);
sizeof (size_t) == sizeof (ptrdiff_t) can't be assumed.
E.g. vms uses always 32-bit size_t, but either 32-bit or 64-bit ptrdiff_t.
More information about the Gcc-bugs
mailing list