[Bug libstdc++/46821] swapping empty classes
paolo.carlini at oracle dot com
gcc-bugzilla@gcc.gnu.org
Mon Dec 6 13:56:00 GMT 2010
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;
More information about the Gcc-bugs
mailing list