Hi Stefan

i snip this patch from upstream...  can you look at this



--- STDCXX/4.1.3/include/vector (revision 378)
+++ STDCXX/4.1.3/include/vector (working copy)
@@ -858,10 +858,17 @@
         // On Sun, gcc 3.1 does generate an incorrect copy constructor
         // that has as an effect an incompletely/incorrectly initialized
         // iterator.
-#if defined (__sun__) && defined (__GNUG__)
+#if defined (__sun__) && defined (__GNUG__) \
+   || defined (__SUNPRO_CC) && defined (__amd64__)
+
+       // working around a gcc 3.1 bug on Solaris where the compiler
+       // generates bad code for the implicitly defined copy ctor
+       // also working around a Sun C++ 5.9 optimizer ICE on x86_64
+       // in wide (64-bit) mode (see STDCXX-551)
+
         _C_iter (const _C_iter& __it)
             : _C_p (__it._C_p), _C_offset (__it._C_offset) {}
-#endif // __GNUG__
+#endif // gcc 3.1/Solaris || Sun C++ 5.9/x86-64

         void operator++ () {
             if (_C_offset++ == _RWSTD_WORD_BIT - 1) {




-- 
Lukas Oboril

When dealing with people, let us remember we are not dealing with
creatures of logic. We are dealing with creatures of emotions,
creatures bristling with prejudices and motivated by pride and vanity.
  Dale Carnegie

Reply via email to