
Markus Schöpflin wrote:
Johan Råde wrote:
[snip]
1. The header <boost/detail/endian.hpp> sometimes gives incorrect results. As John Maddock has pointed out, some processors can be operated in both BE and LE mode. So it may be difficult to fix this problem.
[snip]
Note that the Alpha processor can operate in big or little endian mode, too. AFAIK, Tru64/Alpha always uses little endian. But I have no idea about Linux/Alpha, for example. Anyway, I think it's fairly safe to assume fixed endianess given a specific CPU _and_ OS.
Markus
The header <boost/detail/endian.hpp> should be revised. Now it only looks at the processor type. If the processor is Itanium or Alpha, then it defines BOOST_LITTLE_ENDIAN. It may need to look at both processor type and O/S. But according to John, Itanium can be operated in both BE and LE mode under HP-UX. So the header may have to define a symbol BOOST_UNKNOWN_ENDIAN when it can not deduce the endianness. --Johan