Maciej W. Rozycki wrote: [snip] > > So the linux n64 would be incompatible to SGI's, too? (It would be > > weird if the n64 long long was smaller than the n32 one). > > Why would anyone care? Do you want to run IRIX binaries on Linux? And > at the source level, you have autoconf or <stdint.h> as you can't > arbitrarily assume any type sizes for any portable code. Not everyone uses autoconf, and if you call "long long" a recent addition then the use of <stdint.h> isn't safe, too. Using the same data types allows at least to choose the appropriate typedefs without caring about the underlying OS. > > It would mean to create two new ABIs, gaining little benefit but > > being incompatible from a (C-)programmers POV. And we already have > > too many MIPS ABIs. > > What programmer's POV? Does a programmer write a program for MIPS? No, > unless he writes a kernel or a libc. A normal programmer just codes a > program in C for a *nix-type system and if he wants any portability, he > needs to follow universal guidelines. World isn't as perfect as you claim. And for non-broken code it's nearly irrelevant if the 64 bit integer type is called "long" or "long long". About 128 bit integers: Most OS'es use "long long" already for 64 bit integers, which means there will be something like "quad long" for 128 bit integers (if these are needed). Thiemo