http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46821

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jwakely.gcc at gmail dot
                   |                            |com

--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2010-12-06 
13:56:35 UTC ---
Yes, in the meanwhile figured out what you meant, sorry. This passes testing
(modulo a trivial change to dg-error line numbers somewhere). Jon, what do you
think? I think should be pretty safe...

Index: tuple
===================================================================
--- tuple    (revision 167488)
+++ tuple    (working copy)
@@ -78,7 +78,11 @@
       const _Head& _M_head() const { return *this; }

       void 
-      _M_swap_impl(_Head&) { /* no-op */ }
+      _M_swap_impl(_Head& __h)
+      {
+    using std::swap;
+    swap(__h, _M_head());
+      }
     };

   template<std::size_t _Idx, typename _Head>
@@ -101,7 +105,7 @@
       _M_swap_impl(_Head& __h)
       { 
     using std::swap;
-    swap(__h, _M_head_impl);
+    swap(__h, _M_head());
       }

       _Head _M_head_impl;

Reply via email to