Reading this
very interesting thread I got the malevolent idea to
implement a compliant C compiler which is as different from every
other as possible. [...]
Before the turn of the millennium this would have been
redundant, as
the differences between architectures and vendor compilers in that
heterogeneous area were *quite* sufficient for portability proofs and
disproofs.
Only with respect to some kinds of portability. For exmaple, I don't
think anyone used byte sex other than big-endian, little-endian, and
PDP-endian; a checkout compiler could use a byte order like 1423 or
2134 or 2413. As another example, consider 8-bit chars, but with
3-byte short, 5-byte int, and 7-byte long - I expect there's some code
out there that would explode because long is not an integral number of
ints or shorts - and it could use a byte order like 24513. Perhaps a
stack that does not grow in a well-defined direction.
That sort of thing.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B