Author: faridz Date: Thu Aug 21 06:46:10 2008 New Revision: 687762 URL: http://svn.apache.org/viewvc?rev=687762&view=rev Log: 2008-08-21 Farid Zaripov <[EMAIL PROTECTED]>
STDCXX-976 * include/rw/_specialized.h (uninitialized_copy) [!__HP_aCC]: Explicitly cast *__first into const reference to the iterator_traits<_InputIterator>::value_type type for accepting _InputIterator's with operator*() returning rvalue. Modified: stdcxx/branches/4.2.x/include/rw/_specialized.h Modified: stdcxx/branches/4.2.x/include/rw/_specialized.h URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/rw/_specialized.h?rev=687762&r1=687761&r2=687762&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_specialized.h (original) +++ stdcxx/branches/4.2.x/include/rw/_specialized.h Thu Aug 21 06:46:10 2008 @@ -52,6 +52,11 @@ #endif // _RWSTD_RW_NEW_H_INCLUDED +#ifndef _RWSTD_RW_ITERBASE_H_INCLUDED +# include <rw/_iterbase.h> +#endif // _RWSTD_RW_ITERBASE_H_INCLUDED + + _RWSTD_NAMESPACE (__rw) { @@ -162,10 +167,16 @@ _ForwardIterator __res) { const _ForwardIterator __start = __res; + typedef const _TYPENAME iterator_traits<_InputIterator>::value_type& _RefT; _TRY { for (; __first != __last; ++__first, ++__res) +#ifndef __HP_aCC + _RW::__rw_construct (&*__res, _RefT (*__first)); +#else // ifdef __HP_aCC + // Don't cast to _RefT on HP aCC due to ICE (see STDCXX-1005) _RW::__rw_construct (&*__res, *__first); +#endif // __HP_aCC } _CATCH (...) { _RW::__rw_destroy (__start, __res);