This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
V3 PATCH: Don't use names with multiple meanings at class scope
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: gcc-patches at gcc dot gnu dot org
- Cc: libstdc++ at gcc dot gnu dot org
- Date: 10 Sep 2002 23:57:20 +0200
- Subject: V3 PATCH: Don't use names with multiple meanings at class scope
- Organization: Integrable Solutions
This patchlet corrects a bug brought to my attention. Bootstrap and
testing are running on an i686-pc-linux.
-- Gaby
2002-09-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
* include/bits/stl_vector.h (vector<>): Don't use a name with
different meanings before and after re-evaluation in the completed
scope.
* include/bits/basic_string.h (basic_string<>): Likewise.
* include/bits/stl_bvector.h (vector<bool>): Likewise.
* include/bits/stl_deque.h (std): Likewise.
* include/bits/stl_list.h (list<>): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>): Likewise.
Index: include/bits/basic_string.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/basic_string.h,v
retrieving revision 1.25
diff -p -r1.25 basic_string.h
*** include/bits/basic_string.h 1 Sep 2002 00:33:53 -0000 1.25
--- include/bits/basic_string.h 10 Sep 2002 21:55:00 -0000
*************** namespace std
*** 122,129 ****
typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
const_iterator;
! typedef reverse_iterator<const_iterator> const_reverse_iterator;
! typedef reverse_iterator<iterator> reverse_iterator;
private:
// _Rep: string representation
--- 122,129 ----
typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
const_iterator;
! typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
! typedef std::reverse_iterator<iterator> reverse_iterator;
private:
// _Rep: string representation
Index: include/bits/stl_bvector.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/stl_bvector.h,v
retrieving revision 1.16
diff -p -r1.16 stl_bvector.h
*** include/bits/stl_bvector.h 3 Jun 2002 05:03:50 -0000 1.16
--- include/bits/stl_bvector.h 10 Sep 2002 21:55:00 -0000
*************** template <typename _Alloc>
*** 356,363 ****
typedef _Bit_iterator iterator;
typedef _Bit_const_iterator const_iterator;
! typedef reverse_iterator<const_iterator> const_reverse_iterator;
! typedef reverse_iterator<iterator> reverse_iterator;
typedef typename _Bvector_base<_Alloc>::allocator_type allocator_type;
allocator_type get_allocator() const {
--- 356,363 ----
typedef _Bit_iterator iterator;
typedef _Bit_const_iterator const_iterator;
! typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
! typedef std::reverse_iterator<iterator> reverse_iterator;
typedef typename _Bvector_base<_Alloc>::allocator_type allocator_type;
allocator_type get_allocator() const {
Index: include/bits/stl_deque.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/stl_deque.h,v
retrieving revision 1.28
diff -p -r1.28 stl_deque.h
*** include/bits/stl_deque.h 23 Aug 2002 16:52:29 -0000 1.28
--- include/bits/stl_deque.h 10 Sep 2002 21:55:00 -0000
*************** namespace std
*** 647,654 ****
typedef const value_type* const_pointer;
typedef typename _Base::iterator iterator;
typedef typename _Base::const_iterator const_iterator;
! typedef reverse_iterator<const_iterator> const_reverse_iterator;
! typedef reverse_iterator<iterator> reverse_iterator;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef size_t size_type;
--- 647,654 ----
typedef const value_type* const_pointer;
typedef typename _Base::iterator iterator;
typedef typename _Base::const_iterator const_iterator;
! typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
! typedef std::reverse_iterator<iterator> reverse_iterator;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef size_t size_type;
Index: include/bits/stl_list.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/stl_list.h,v
retrieving revision 1.19
diff -p -r1.19 stl_list.h
*** include/bits/stl_list.h 23 Aug 2002 16:52:29 -0000 1.19
--- include/bits/stl_list.h 10 Sep 2002 21:55:00 -0000
*************** namespace std
*** 376,383 ****
typedef const value_type* const_pointer;
typedef _List_iterator<_Tp,_Tp&,_Tp*> iterator;
typedef _List_iterator<_Tp,const _Tp&,const _Tp*> const_iterator;
! typedef reverse_iterator<const_iterator> const_reverse_iterator;
! typedef reverse_iterator<iterator> reverse_iterator;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef size_t size_type;
--- 376,383 ----
typedef const value_type* const_pointer;
typedef _List_iterator<_Tp,_Tp&,_Tp*> iterator;
typedef _List_iterator<_Tp,const _Tp&,const _Tp*> const_iterator;
! typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
! typedef std::reverse_iterator<iterator> reverse_iterator;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef size_t size_type;
Index: include/bits/stl_tree.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/stl_tree.h,v
retrieving revision 1.15
diff -p -r1.15 stl_tree.h
*** include/bits/stl_tree.h 7 Mar 2002 06:53:21 -0000 1.15
--- include/bits/stl_tree.h 10 Sep 2002 21:55:00 -0000
*************** namespace std
*** 702,709 ****
typedef _Rb_tree_iterator<value_type, const_reference, const_pointer>
const_iterator;
! typedef reverse_iterator<const_iterator> const_reverse_iterator;
! typedef reverse_iterator<iterator> reverse_iterator;
private:
iterator
--- 702,709 ----
typedef _Rb_tree_iterator<value_type, const_reference, const_pointer>
const_iterator;
! typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
! typedef std::reverse_iterator<iterator> reverse_iterator;
private:
iterator
Index: include/bits/stl_vector.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/stl_vector.h,v
retrieving revision 1.28
diff -p -r1.28 stl_vector.h
*** include/bits/stl_vector.h 23 Aug 2002 16:52:29 -0000 1.28
--- include/bits/stl_vector.h 10 Sep 2002 21:55:00 -0000
*************** namespace std
*** 195,202 ****
typedef __gnu_cxx::__normal_iterator<pointer, vector_type> iterator;
typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type>
const_iterator;
! typedef reverse_iterator<const_iterator> const_reverse_iterator;
! typedef reverse_iterator<iterator> reverse_iterator;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef size_t size_type;
--- 195,202 ----
typedef __gnu_cxx::__normal_iterator<pointer, vector_type> iterator;
typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type>
const_iterator;
! typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
! typedef std::reverse_iterator<iterator> reverse_iterator;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef size_t size_type;