re PR libstdc++/13838 (std::bitset<>::operator |= error with -D_GLIBCXX_DEBUG)

2004-01-23  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13838
	* include/debug/bitset (operator|=): Fix typo.
	* testsuite/23_containers/bitset/operations/13838.cc: New.

From-SVN: r76479
This commit is contained in:
Paolo Carlini 2004-01-24 01:25:37 +00:00 committed by Paolo Carlini
parent 3e2a0bd237
commit 72afd981f8
3 changed files with 54 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2004-01-23 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/13838
* include/debug/bitset (operator|=): Fix typo.
* testsuite/23_containers/bitset/operations/13838.cc: New.
2004-01-23 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.tcc (insert(size_type,

View File

@ -141,7 +141,7 @@ namespace __gnu_debug_def
bitset<_Nb>&
operator|=(const bitset<_Nb>& __rhs)
{
_M_base() != __rhs;
_M_base() |= __rhs;
return *this;
}

View File

@ -0,0 +1,47 @@
// Copyright (C) 2004 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
#include <debug/bitset>
#include <testsuite_hooks.h>
// libstdc++/13838
void test01()
{
using __gnu_debug::bitset;
bool test __attribute__((unused)) = true;
bitset<4> b0, b1;
b0.set(1);
b0.set(3);
b1.set(2);
b1.set(3);
b0 |= b1;
bitset<4> br;
br.set(1);
br.set(2);
br.set(3);
VERIFY( b0 == br );
}
int main()
{
test01();
}