At EMC we have a version of GCC which targets the x86 with a non standard ABI -- it produces code for 64 bit mode mode, but with types having the 32 bit ABI sizes. So, ints, longs, and pointers are 32 bits -- that is, it's ILP32 rather than LP64 -- but with the chip in 64 bit mode.
Actually, pointers are somewhat schizophrenic -- software 32 bits, hardware 64 bits. Currently the changes are against 3.4.6 and are not yet ``productized''. If this set of changes was cleaned up, finished, and made relative to top of trunk rather than relative to 3.4.6, would people be interested in them? Put another way, should I bother to post them to gcc-patches (probably 3-6 months out) for possible inclusion into gcc? Thanks. Later, David