Re: [PATCH 01/24] types: create <asm-generic/int-*.h>

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Fri, 25 Apr 2008, Jan Engelhardt wrote:
> 
> long long is 64 bits on both 32 and 64, is not it?
> If so, the split between 32 and 64 should not be necessary.

They may be the same size, but there are still pure C-level _type_ 
differences that the compiler will warn about.

This is the same issue as a 32-bit type on x86-32: is it an "int" or a 
"long"? From a pure size perspective it shouldn't matter, but if you pass 
a pointer to it, or use it in a "printf()", it matters a whole lot, 
because the compiler will complain if you use the wrong version.

So on some 32-bit architectures, "size_t" is "unsigned int", on others it 
is "unsigned long", and you have to get it right in order to avoid 
complaints. 

The exact same thing is true about "long" vs "long long" on 64-bit 
architectures. They may have the same size, but they don't have the same 
type.

		Linus


--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux