This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

V3 PATCH: Don't use names with multiple meanings at class scope


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;



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]