This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
V3 PATCH: Implement DR 123 resolution
- From: Gabriel Dos Reis <gdr at nerim dot net>
- To: gcc-patches at gcc dot gnu dot org
- Cc: libstdc++ at gcc dot gnu dot org
- Date: 19 Jul 2002 06:48:40 +0200
- Subject: 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>