This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: Implement DR 123 resolution


This patchlet implements the resolution of DR 123 (ready).

Regtested on an i686-pc-linux-gnu

-- Gaby

2002-07-19  Gabriel Dos Reis  <gdr@nerim.net>

	DR/123
	* include/bits/slice_array.h 
	(slice_array<T>::operator=(const T&)): Constify.
	* include/bits/gslice_array.h 
	(gslice_array<T>::operator=(const T&)):  Likewise.
	* include/bits/mask_array.h 
	(mask_array<T>::operator=(const T&)): Likewise.
	* include/bits/indirect_array.h
	(indirect_array<T>::operator=(const T&): Likewise.

Index: include/bits/gslice_array.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/gslice_array.h,v
retrieving revision 1.4
diff -p -r1.4 gslice_array.h
*** include/bits/gslice_array.h	16 Jan 2002 19:57:31 -0000	1.4
--- include/bits/gslice_array.h	19 Jul 2002 04:44:10 -0000
*************** namespace std {
*** 57,63 ****
          void operator|= (const valarray<_Tp>&) const;
          void operator<<=(const valarray<_Tp>&) const;
          void operator>>=(const valarray<_Tp>&) const;
!         void operator=(const _Tp&);
  
          template<class _Dom>
          void operator= (const _Expr<_Dom,_Tp>&) const;
--- 57,63 ----
          void operator|= (const valarray<_Tp>&) const;
          void operator<<=(const valarray<_Tp>&) const;
          void operator>>=(const valarray<_Tp>&) const;
!         void operator=(const _Tp&) const;
  
          template<class _Dom>
          void operator= (const _Expr<_Dom,_Tp>&) const;
*************** namespace std {
*** 113,119 ****
      
      template<typename _Tp>
      inline void
!     gslice_array<_Tp>::operator= (const _Tp& __t) 
      { 
          __valarray_fill (_M_array, _Array<size_t>(_M_index),
                           _M_index.size(), __t); 
--- 113,119 ----
      
      template<typename _Tp>
      inline void
!     gslice_array<_Tp>::operator= (const _Tp& __t) const
      { 
          __valarray_fill (_M_array, _Array<size_t>(_M_index),
                           _M_index.size(), __t); 
Index: include/bits/indirect_array.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/indirect_array.h,v
retrieving revision 1.5
diff -p -r1.5 indirect_array.h
*** include/bits/indirect_array.h	16 Jan 2002 19:57:31 -0000	1.5
--- include/bits/indirect_array.h	19 Jul 2002 04:44:10 -0000
*************** namespace std
*** 61,67 ****
         void operator|= (const valarray<_Tp>&) const;
         void operator<<= (const valarray<_Tp>&) const;
         void operator>>= (const valarray<_Tp>&) const; 
!        void operator= (const _Tp&);
         //    ~indirect_array();
  
         template<class _Dom>
--- 61,67 ----
         void operator|= (const valarray<_Tp>&) const;
         void operator<<= (const valarray<_Tp>&) const;
         void operator>>= (const valarray<_Tp>&) const; 
!        void operator= (const _Tp&) const;
         //    ~indirect_array();
  
         template<class _Dom>
*************** namespace std
*** 124,130 ****
  
    template<typename _Tp>
       inline void
!      indirect_array<_Tp>::operator= (const _Tp& __t)
       { __valarray_fill(_M_array, _M_index, _M_sz, __t); }
  
    template<typename _Tp>
--- 124,130 ----
  
    template<typename _Tp>
       inline void
!      indirect_array<_Tp>::operator= (const _Tp& __t) const
       { __valarray_fill(_M_array, _M_index, _M_sz, __t); }
  
    template<typename _Tp>
Index: include/bits/mask_array.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/mask_array.h,v
retrieving revision 1.4
diff -p -r1.4 mask_array.h
*** include/bits/mask_array.h	2 Nov 2001 17:38:10 -0000	1.4
--- include/bits/mask_array.h	19 Jul 2002 04:44:10 -0000
*************** namespace std {
*** 57,63 ****
          void operator|= (const valarray<_Tp>&) const;
          void operator<<=(const valarray<_Tp>&) const;  
          void operator>>=(const valarray<_Tp>&) const; 
!         void operator= (const _Tp&);
      
          //        ~mask_array ();
          
--- 57,63 ----
          void operator|= (const valarray<_Tp>&) const;
          void operator<<=(const valarray<_Tp>&) const;  
          void operator>>=(const valarray<_Tp>&) const; 
!         void operator= (const _Tp&) const;
      
          //        ~mask_array ();
          
*************** namespace std {
*** 114,120 ****
      
      template<typename _Tp>
      inline void
!     mask_array<_Tp>::operator= (const _Tp& __t)
      { __valarray_fill (_M_array, _M_sz, _M_mask, __t); }
      
      template<typename _Tp>
--- 114,120 ----
      
      template<typename _Tp>
      inline void
!     mask_array<_Tp>::operator= (const _Tp& __t) const
      { __valarray_fill (_M_array, _M_sz, _M_mask, __t); }
      
      template<typename _Tp>
Index: include/bits/slice_array.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/include/bits/slice_array.h,v
retrieving revision 1.7
diff -p -r1.7 slice_array.h
*** include/bits/slice_array.h	16 Jul 2002 00:19:17 -0000	1.7
--- include/bits/slice_array.h	19 Jul 2002 04:44:10 -0000
*************** namespace std
*** 101,107 ****
        void operator|=(const valarray<_Tp>&) const;
        void operator<<=(const valarray<_Tp>&) const;
        void operator>>=(const valarray<_Tp>&) const;
!       void operator=(const _Tp &);
        //        ~slice_array ();
  
        template<class _Dom>
--- 101,107 ----
        void operator|=(const valarray<_Tp>&) const;
        void operator<<=(const valarray<_Tp>&) const;
        void operator>>=(const valarray<_Tp>&) const;
!       void operator=(const _Tp &) const;
        //        ~slice_array ();
  
        template<class _Dom>
*************** namespace std
*** 163,169 ****
  
    template<typename _Tp>
      inline void
!     slice_array<_Tp>::operator=(const _Tp& __t) 
      { __valarray_fill(_M_array, _M_sz, _M_stride, __t); }
      
    template<typename _Tp>
--- 163,169 ----
  
    template<typename _Tp>
      inline void
!     slice_array<_Tp>::operator=(const _Tp& __t) const
      { __valarray_fill(_M_array, _M_sz, _M_stride, __t); }
      
    template<typename _Tp>


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