
Boris Gubenko wrote:
A failure of dynamic_bitset library test dyn_bitset_unit_tests3 on Tru64/cxx and HP-UX/aCC revealed what appears to be a bug in <boost/dynamic_bitset/dynamic_bitset.hpp> introduced after Boost 1.34.
[Snip long and detailed analysis.]
Replacing
result |= (m_bits[i] << (bits_per_block * i));
with
unsigned long piece = m_bits[i]; result |= (piece << (bits_per_block * i));
on the trunk makes the test succeed: verified on Tru64/cxx and on HP-UX/aCC.
[...]
To fix the problem, I suggest to replace the buggy code in <boost/dynamic_bitset/dynamic_bitset.hpp> in the trunk with that in 1.34. If there are no objections, I can do it.
I don't think that any of the authors of dynamic_bitset is still around, so there probably won't be any objections. I for one would welcome the fix. Thanks, Markus