std_bitset.h (_Base_bitset::_M_do_left_shift, [...]): Expect a non-zero shift.
authorPhil Edwards <pme@gcc.gnu.org>
Fri, 27 Dec 2002 00:03:17 +0000 (00:03 +0000)
committerPhil Edwards <pme@gcc.gnu.org>
Fri, 27 Dec 2002 00:03:17 +0000 (00:03 +0000)
commit3bbfb3d91dd6137f419c9d85ce7c75bb96e860b0
treeaeb9947904387c32a63d66db431bc706d6280a23
parent9795acc64a1e348ebe9b32d21311d6cae6b20088
std_bitset.h (_Base_bitset::_M_do_left_shift, [...]): Expect a non-zero shift.

2002-12-26  Phil Edwards  <pme@gcc.gnu.org>

* include/std/std_bitset.h (_Base_bitset::_M_do_left_shift,
_Base_bitset::_M_do_right_shift): Expect a non-zero shift.
(bitset::operator<<=, bitset::operator>>=):  When shifting more bits
than are in the bitset, zero memory rather than segfault.
(operator>>(basic_istream,bitset):  Only call setstate once, after
all work has been done.

* testsuite/23_containers/bitset_members.cc (test03):  New test.
* testsuite/23_containers/bitset_shift.cc (test02):  New test.

From-SVN: r60533
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/std_bitset.h
libstdc++-v3/testsuite/23_containers/bitset_members.cc
libstdc++-v3/testsuite/23_containers/bitset_shift.cc