9 Oct
2017
9 Oct
'17
5:17 p.m.
AMDG On 10/08/2017 08:00 AM, Peter Dimov via Boost wrote:
James E. King, III wrote:
For folks who like (potential) compiler optimization bugs: https://svn.boost.org/trac10/ticket/13247
Looking at the source of independent_bits, this jumps out at me:
S = (S << w0) + (u & y0_mask);
and later
S = (S << (w0 + 1)) + (u & y1_mask);
Shifts with a value more than the number of bits are undefined, and debugging confirms that w0 is 32 in the failing tests.
Fixed in develop. In Christ, Steven Watanabe