On Fri, Mar 20, 2015 at 11:43 AM, Peter Dimov
Beman Dawes wrote:
The most conservative approach is to remove the return-by-value reverse functions, and note in the docs that only in-place reverse is available for FP. That will give us more time to determine if return-by-value endianness reverse is valid for floating point.
Even if everything round-trips correctly on all compilers we care about, returning "wrong endianness" by value is not standard conforming for any type, not just float. int, for instance, is allowed to have padding bits and trap representations, or to not preserve the sign bit of negative zero.
Understood. While that's a particular concern for floating point types, you are correct that it also applies to integer types even though two's complement integers have become ubiquitous. See my reply below to Rob Stewart for the impact on a 1.58.0 release. Thanks, --Beman