On Sat, 18 Oct 2008, Manuel Bouyer wrote:
I think all NetBSD's current 64-bit platforms still use 32-bit ints
(it's longs and pointers that are 64-bit).
Arguably this is wrong, since int is supposed to be the machine's
native word size. Why it was done this way I don't know - I didn't
make that choice and can't recall anything even hinting at why it
was
made the way it was.
I think the main reason would be that otherwise, you wouldn't have
a way
to declare a 32bits value:
char -> 8bits
short -> 16bits
int -> 32bits
long -> 64bits
Nothing in ANSI C99 prohibits a system from having extra types with
sizes in between the sizes of the standard char/short/int/long types.
For example, one could have a 32-bit "int32_t" even if short was 16
bits
and int was 64 bits.