During the transition from 16 to 32 bit in the 80s, int was either 16 or 32 bit. Using the current 64 bit transition nomenclature, I understand there was a pretty even spread of ILP32 and LP32 machines. At the time I believe it was understood that int would always follow the register or pointer width for any given architecture and that long would remain 32 bit.

Fast forward 25 years, I see that LP64 is pretty mainstream, but until I encountered 64 bit platforms [my discovery of desktop Linux in 2007 :)], I always expected IP64 to be the next logical step.

  • Was this (LP64) the expected evolution for 64bit?
  • How does the char ≤ short ≤ int ≤ long relationship fit into this emerging scheme of fixing an integer type to each platform we leave behind?
  • How do these transition schemes relate to the use of (your choice of {l,u}case) WORD/DWORD on various platforms?
  • Some areas of Windows still contain INT forms that are 16bit. Will Windows grow out of LLP64 or is it too late?
  • Why was int chosen to be left behind this time, as opposed to during the 32bit transition?
Edit
Report