The problem could have been solved by redefining the register keyword to mean:
- register short: half of target architecture's register width
- register int: register width
- register long: double the register width
I wonder how many programs would break, esp. if the register keyword would be no-op if its use would violate the minimum requirements for integer types (short, int: at least 16 bits, long: at least 32 bits).
I don't how useful would this redefinition be. Afterall, C99 does include "fast" integer types. Hm. Any opinions?