aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2004-01-24 01:25:37 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2004-01-24 01:25:37 +0000
commit72afd981f8aa4ae499b2099e8b1e4497876bf828 (patch)
tree2e4eb293467fe44a609abf91a5cc186fb47e3c78 /libstdc++-v3
parent3e2a0bd237917bbe7dacf141bfdd8d13c3b1786b (diff)
downloadgcc-72afd981f8aa4ae499b2099e8b1e4497876bf828.zip
gcc-72afd981f8aa4ae499b2099e8b1e4497876bf828.tar.gz
gcc-72afd981f8aa4ae499b2099e8b1e4497876bf828.tar.bz2
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
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/debug/bitset2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc47
3 files changed, 54 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 19a3535..0118502 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,11 @@
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,
const _CharT*, size_type __n)): Fix length_error check.
(replace(size_type, size_type, const _CharT*, size_type):
diff --git a/libstdc++-v3/include/debug/bitset b/libstdc++-v3/include/debug/bitset
index 8924422..1d8875a 100644
--- a/libstdc++-v3/include/debug/bitset
+++ b/libstdc++-v3/include/debug/bitset
@@ -141,7 +141,7 @@ namespace __gnu_debug_def
bitset<_Nb>&
operator|=(const bitset<_Nb>& __rhs)
{
- _M_base() != __rhs;
+ _M_base() |= __rhs;
return *this;
}
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
new file mode 100644
index 0000000..e9b1ac1
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
@@ -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();
+}