
On Saturday 30 June 2007 10:29:08 John Maddock wrote:
Ulrich Eckhardt wrote: [...]
#if defined(_BIG_ENDIAN) 0x7f80 << (sizeof(int)*CHAR_BIT-16), #else 0x7f800000, #endif [...] OK, first off I've never had access to sparc machines, so I would have been applying a patch that someone else had submitted, unfortunately I can't locate the original message at present :-(
The reason for there being a difference on *some* big-endian machines is that while the byte order of int's has swapped around, floats retain the same IEEE-specified order. But, that implies this code does indeed look wrong!
Okay. I'm not even really sure what the code does in general, maybe some of the STLport people that initially stumbled across it can determine what it's supposed to do and then add according unittests. If this had some cryptic meaning, those should unveil it...
However, this code was only ever used for gcc-2.95 if I remember correctly, so it's effectly depricated fluff these days...
Not sure if this helps, John.
It does! Uli