]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libstdc++/19510 ([3.3 only] Uninitialized pointers in iterators)
authorVolker Reichelt <reichelt@igpm.rwth-aachen.de>
Fri, 21 Jan 2005 16:21:39 +0000 (16:21 +0000)
committerVolker Reichelt <reichelt@gcc.gnu.org>
Fri, 21 Jan 2005 16:21:39 +0000 (16:21 +0000)
PR libstdc++/19510
* include/bits/stl_list.h (_List_iterator): Initialize _M_node
in constructor.
(_List_const_iterator): Likewise.
* include/bits/stl_tree.h (_Rb_tree_iterator): Likewise.
(_Rb_tree_const_iterator): Likewise.

* testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
* testsuite/23_containers/set/operators/1_neg.cc: Likewise.

From-SVN: r94017

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_list.h
libstdc++-v3/include/bits/stl_tree.h
libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc

index 3ba85e2ab2816132e4fd613a0cbf41f9ed5666fb..588fa8edb7c0fecd41bdf67dedf0626cf26320bc 100644 (file)
@@ -1,3 +1,15 @@
+2005-01-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR libstdc++/19510
+       * include/bits/stl_list.h (_List_iterator): Initialize _M_node
+       in constructor.
+       (_List_const_iterator): Likewise.
+       * include/bits/stl_tree.h (_Rb_tree_iterator): Likewise.
+       (_Rb_tree_const_iterator): Likewise.
+
+       * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
+       * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
+
 2005-01-18  Paolo Carlini  <pcarlini@suse.de>
 
        * include/bits/stl_tree.h: Add a few missing std:: qualifications.
index 060755a213c8d056ca57f6a39cf7db5f30f87eef..afb118bb31e54fd4e12bc596097ba78e5d130aab 100644 (file)
@@ -1,6 +1,6 @@
 // List implementation -*- C++ -*-
 
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 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
@@ -119,7 +119,8 @@ namespace _GLIBCXX_STD
       typedef _Tp*                          pointer;
       typedef _Tp&                          reference;
 
-      _List_iterator() { }
+      _List_iterator()
+      : _M_node() { }
 
       _List_iterator(_List_node_base* __x)
       : _M_node(__x) { }
@@ -195,7 +196,8 @@ namespace _GLIBCXX_STD
       typedef const _Tp*                    pointer;
       typedef const _Tp&                    reference;
 
-      _List_const_iterator() { }
+      _List_const_iterator()
+      : _M_node() { }
 
       _List_const_iterator(const _List_node_base* __x)
       : _M_node(__x) { }
index 6001a3173d58f5671bb6bef76d76031a5fd49197..cea16f12d2590b963b933c6ffef5f2fdd8b7b8c3 100644 (file)
@@ -161,7 +161,8 @@ namespace std
       typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
       typedef _Rb_tree_node<_Tp>*           _Link_type;
 
-      _Rb_tree_iterator() { }
+      _Rb_tree_iterator()
+      : _M_node() { }
 
       _Rb_tree_iterator(_Link_type __x)
       : _M_node(__x) { }
@@ -231,7 +232,8 @@ namespace std
       typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
       typedef const _Rb_tree_node<_Tp>*           _Link_type;
 
-      _Rb_tree_const_iterator() { }
+      _Rb_tree_const_iterator()
+      : _M_node() { }
 
       _Rb_tree_const_iterator(_Link_type __x)
       : _M_node(__x) { }
index 64a1d7df866d919a4aba121907afb47cee794863..66417d34e1e2dfc6a990862aba28e4484fdd80a1 100644 (file)
@@ -41,5 +41,5 @@ void test01()
   test &= itr == mapByName.end(); // { dg-error "no" } 
 }
  
-// { dg-error "candidates are" "" { target *-*-* } 209 } 
-// { dg-error "candidates are" "" { target *-*-* } 213 }
+// { dg-error "candidates are" "" { target *-*-* } 210 }
+// { dg-error "candidates are" "" { target *-*-* } 214 }
index 8af78f30837e4eb143e7582502ce096c3fa97306..f0601255ab7d85223d4e85b0f54c5138131f9f57 100644 (file)
@@ -39,6 +39,5 @@ void test01()
   test &= itr == setByName.end(); // { dg-error "no" } 
 }
 
-// { dg-error "candidates are" "" { target *-*-* } 282 } 
-// { dg-error "candidates are" "" { target *-*-* } 286 }
-
+// { dg-error "candidates are" "" { target *-*-* } 284 }
+// { dg-error "candidates are" "" { target *-*-* } 288 }