On Fri, Mar 20, 2015 at 4:47 PM, Rob Stewart
On March 20, 2015 9:40:22 AM EDT, Beman Dawes
wrote: But for Microsoft in debug mode, certain bit patterns do not round-trip correctly. For example, 7f810000 becomes 7fc10000. (Those are little endian representations).
So what should Boost.Endian do? There is less than two weeks left before 1.58.0 ships, and even if this turns out to be a bug in the Microsoft compiler, it is likely to cause user problems.
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.
Until you have a good handle on the issue, you should not release the functionality as stable and vetted.
Understood. That's been uppermost in my mind.
You might just use a macro to enable those functions as experimental.
I'm going to remove all return-by-value functions, including for integers, and there isn't time to do that for 1.58.0. So Boost.Endian will have to wait for 1.59.0. Sigh... Thanks, --Beman