diff --git a/etc/config/xfail.txt b/etc/config/xfail.txt
index 13b6e8e..6845a0e 100644
--- a/etc/config/xfail.txt
+++ b/etc/config/xfail.txt
@@ -68,10 +68,8 @@
 2.smartptr.shared   hpux-*-*-acc-3.*-*              COMP      STDCXX-615
 19.exceptions.mt    aix-5.3-*-vacpp-9.0-{12,15}?    HUP       STDCXX-644
 21.string.assign.stdcxx-629    *-*-*-*-*            ABRT      STDCXX-629
-21.string.exceptions           *-*-*-*-*            COMP      STDCXX-1009
 21.string.insert.stdcxx-632    *-*-*-*-*            ABRT      STDCXX-632
 21.string.replace.stdcxx-170   *-*-*-*-*            ABRT      STDCXX-170
-21.string.stdcxx-1009          *-*-*-*-*            COMP      STDCXX-1009
 21.string.stdcxx-162  linux*-*-{amd64,em64t}-*-*-{12,15}{D,S} ABRT STDCXX-162
 23.vector.modifiers.stdcxx-495 *-*-*-*-*            ABRT      STDCXX-495
 25.uninitialized.copy.stdcxx-976 *-*-*-*-*          COMP      STDCXX-976
diff --git a/include/rw/_select.h b/include/rw/_select.h
index e682957..070660c 100644
--- a/include/rw/_select.h
+++ b/include/rw/_select.h
@@ -89,7 +89,7 @@
 
 #if !defined (__SUNPRO_CC) || __SUNPRO_CC > 0x530
 #  define _RWSTD_DISPATCH(iter)   \
-       (typename _RW::__rw_select_int< iter >::_SelectT (0))
+       (typename _RW::__rw_select_int< iter >::_SelectT (1L))
 
 #else
    // working around a SunPro 5.3 a prior bug (PR #28739)
diff --git a/include/rw/_specialized.h b/include/rw/_specialized.h
index f041f6b..b808a22 100644
--- a/include/rw/_specialized.h
+++ b/include/rw/_specialized.h
@@ -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,15 @@
                     _ForwardIterator __res)
 {
     const _ForwardIterator __start = __res;
+    typedef typename iterator_traits<_ForwardIterator>::value_type _TypeT;
 
     _TRY {
-        for (; __first != __last; ++__first, ++__res)
-            _RW::__rw_construct (&*__res, *__first);
+        for (; __first != __last; ++__first, ++__res) {
+            // avoid const-qualifying ptr to prevent an HP aCC 3 bug
+            volatile void* /* const */ __ptr =
+                _RWSTD_STATIC_CAST (volatile void*, &*__res);
+            ::new (_RWSTD_CONST_CAST (void*, __ptr)) _TypeT (*__first);
+        }
     }
     _CATCH (...) {
         _RW::__rw_destroy (__start, __res);
diff --git a/src/time_put.cpp b/src/time_put.cpp
index 5366996..245a9b6 100644
--- a/src/time_put.cpp
+++ b/src/time_put.cpp
@@ -706,12 +706,14 @@
 
         len = strftime (pbuf + off, bufsize - off, "%a", &t);
 
-        pun->abday_off [0][t.tm_wday]  = off;
+        pun->abday_off [0][t.tm_wday]  =
+            _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
         off                           += len + 1;
 
         len = strftime (pbuf + off, bufsize - off, "%A", &t);
 
-        pun->day_off [0][t.tm_wday]  = off;
+        pun->day_off [0][t.tm_wday]  =
+            _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
         off                         += len + 1;
 
 #  ifndef _RWSTD_NO_WCHAR_T
@@ -726,13 +728,14 @@
         wchar_t *pwbuf = _RWSTD_REINTERPRET_CAST (wchar_t*, pbuf + off);
         len = wcsftime (pwbuf, (bufsize - off) / sizeof (*pwbuf), L"%a", &t);
 
-        pun->abday_off [1][t.tm_wday]  = off;
+        pun->abday_off [1][t.tm_wday]  =
+            _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
         off                           += (len + 1) * sizeof (wchar_t);
 
         pwbuf = _RWSTD_REINTERPRET_CAST (wchar_t*, pbuf + off);
         len   = wcsftime (pwbuf, (bufsize - off) / sizeof (*pwbuf), L"%A", &t);
 
-        pun->day_off [1][t.tm_wday]  = off;
+        pun->day_off [1][t.tm_wday] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
         off                         += (len + 1) * sizeof (wchar_t);
 
 #    else   // if defined (_RWSTD_NO_WCSFTIME)
@@ -786,12 +789,13 @@
 
         len = strftime (pbuf + off, bufsize - off, "%b", &t);
 
-        pun->abmon_off [0][t.tm_mon]  = off;
+        pun->abmon_off [0][t.tm_mon]  = 
+            _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
         off                          += len + 1;
 
         len = strftime (pbuf + off, bufsize - off, "%B", &t);
 
-        pun->mon_off [0][t.tm_mon]  = off;
+        pun->mon_off [0][t.tm_mon]  = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
         off                        += len + 1;
 
 #  ifndef _RWSTD_NO_WCHAR_T
@@ -806,13 +810,14 @@
         wchar_t *pwbuf = _RWSTD_REINTERPRET_CAST (wchar_t*, pbuf + off);
         len = wcsftime (pwbuf, (bufsize - off) / sizeof (*pwbuf), L"%b", &t);
 
-        pun->abmon_off [1][t.tm_mon]  = off;
+        pun->abmon_off [1][t.tm_mon]  =
+            _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
         off                          += (len + 1) * sizeof (wchar_t);
 
         pwbuf = _RWSTD_REINTERPRET_CAST (wchar_t*, pbuf + off);
         len   = wcsftime (pwbuf, (bufsize - off) / sizeof (*pwbuf), L"%B", &t);
 
-        pun->mon_off [1][t.tm_mon]  = off;
+        pun->mon_off [1][t.tm_mon]  = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
         off                        += (len + 1) * sizeof (wchar_t);
 
 #    else   // if defined (_RWSTD_NO_WCSFTIME)
@@ -863,22 +868,22 @@
     // copy AM/PM designations
     t.tm_hour = 1;
     len = strftime (pbuf + off, bufsize - off, "%p", &t);
-    pun->am_pm_off [0][0] = off;
+    pun->am_pm_off [0][0] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off += len + 1;
     
     t.tm_hour = 13;
     len = strftime (pbuf + off, bufsize - off, "%p", &t);
-    pun->am_pm_off [0][1] = off;
+    pun->am_pm_off [0][1] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off += len + 1;
 
     // determine the locale's "%x" format (date representation)
     len                 = __rw_get_date_fmat (pbuf + off);
-    pun->d_fmt_off [0]  = off;
+    pun->d_fmt_off [0]  = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off                += len + 1;
     
     // determine the locale's "%X" format (time representation)
     len                 = __rw_get_time_fmat (pbuf + off);
-    pun->t_fmt_off [0]  = off;
+    pun->t_fmt_off [0]  = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off                += len + 1;
 
     // FIXME: determine "%r" at runtime (just like "%x" and "%X")
@@ -889,7 +894,7 @@
 
     len = sizeof t_fmt_ampm_fmat;
     memcpy (pbuf + off, t_fmt_ampm_fmat, len);
-    pun->t_fmt_ampm_off [0]  = off;
+    pun->t_fmt_ampm_off [0]  = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off                     += len;
 
     // FIXME: determine "%c" at runtime (just like "%x" and "%X"),
@@ -899,14 +904,14 @@
     static const char d_t_fmat[] = "%a %b %e %H:%M:%S %Y";
     len                  = sizeof d_t_fmat;
     memcpy (pbuf + off, d_t_fmat, len);
-    pun->d_t_fmt_off [0]  = off;
+    pun->d_t_fmt_off [0]  = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off                  += len;
 
     // FIXME: determine "%Ec", "%EX", "%Ex"
     pbuf [off]               = '\0';
-    pun->era_d_t_fmt_off [0] = off;
-    pun->era_d_fmt_off [0]   = off;
-    pun->era_t_fmt_off [0]   = off;
+    pun->era_d_t_fmt_off [0] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
+    pun->era_d_fmt_off [0]   = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
+    pun->era_t_fmt_off [0]   = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off                     += 1;
 
 #  ifndef _RWSTD_NO_WCHAR_T
@@ -924,13 +929,13 @@
     t.tm_hour = 1;
     pwbuf     = _RWSTD_REINTERPRET_CAST (wchar_t*, pbuf + off);
     len       = wcsftime (pwbuf, (bufsize - off) / sizeof (*pwbuf), L"%p", &t);
-    pun->am_pm_off [1][0] = off;
+    pun->am_pm_off [1][0] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off += (len + 1) * sizeof (wchar_t);
     
     t.tm_hour = 13;
     pwbuf     = _RWSTD_REINTERPRET_CAST (wchar_t*, pbuf + off);
     len       = wcsftime (pwbuf, (bufsize - off) / sizeof (*pwbuf), L"%p", &t);
-    pun->am_pm_off [1][1] = off;
+    pun->am_pm_off [1][1] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off += (len + 1) * sizeof (wchar_t);
 
 #    else   // if defined (_RWSTD_NO_WCSFTIME)
@@ -986,7 +991,7 @@
         size += 1;
     }
 
-    pun->d_fmt_off [1] = off;
+    pun->d_fmt_off [1] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off               += size * sizeof (wchar_t);
     
     // convert "%X" to its wide equivalent
@@ -1004,7 +1009,7 @@
         size += 1;
     }
 
-    pun->t_fmt_off [1] = off;
+    pun->t_fmt_off [1] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off               += size * sizeof (wchar_t);
 
     // convert "%c" to its wide equivalent
@@ -1022,7 +1027,7 @@
         size += 1;
     }
 
-    pun->d_t_fmt_off [1] = off;
+    pun->d_t_fmt_off [1] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off                 += size * sizeof (wchar_t);
 
     // convert "%r" to its wide equivalent
@@ -1040,7 +1045,7 @@
         size += 1;
     }
 
-    pun->t_fmt_ampm_off [1] = off;
+    pun->t_fmt_ampm_off [1] = _RWSTD_STATIC_CAST (_RWSTD_UINT32_T, off);
     off                    += size * sizeof (wchar_t);
 
 #  endif   // _RWSTD_NO_WCHAR_T
