Re: Typedefs / gcc / HIGHMEM

From: H. Peter Anvin (
Date: Sat Dec 08 2001 - 19:41:56 EST

Stephan von Krawczynski wrote:

>>Why should there be? The u32 value gets promoted to u64 before the
>>comparison is done.
> Yes, ok, you're right. This was not a well thought out statement.
> Anyway the problem with printf statement stays. It is obviously
> confused by a unsigned long long and "%08x". How would you fix this?
> Downcasting to u32?

Either that or change it to %016llx or something like that.

> Ha, I always wondered what this u64 is all about :-)
> Honestly, this whole datatyping is gone completely mad since the 16-32
> bit change. In my opinion
> byte is 8 bit
> short is 16 bit
> long is 32 bit
> <callwhatyouwant> is 64 bit (I propose long2 for expression of bitsize
> long * 2).
> <callwhatyouwant2> is 128 bit (Ha, right I would call it long4)

Well, you're wrong.

> How do you call a 64 bit datatype in a 128 bit environment? According
> to your / the worlds current terminology long will then be 128 bit and
> int will (ridiculously) still be 32 bit. It will be pretty interesting
> to hear people talking about integer registers and people writing
> portable applications do #define int long ... A wait this will break
> your #typedef unsigned int u32 story :-)

int64_t. See the C99 standard.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Dec 15 2001 - 21:00:13 EST