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

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
i.e. it's defined as either 0L or 0

The reason is that it needs to be the same size as a pointer, and the type with
the lowest rank is chosen. For x86 int has the same width as a pointer and int
has lower rank than long, so int is used.. For x86_64 long has the same width
as a pointer and long has lower rank than long long, so long is used.

Reply via email to