aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2010-10-04 17:28:24 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2010-10-04 17:28:24 +0000
commit6703f185d4ddf982349c9c884226e3c72ca50130 (patch)
tree66f681eb19877eb9b646e2ea861d10502c34b8b5
parenta90163e9737cf5384865d043954bfd3a51bb4e7c (diff)
downloadgcc-6703f185d4ddf982349c9c884226e3c72ca50130.zip
gcc-6703f185d4ddf982349c9c884226e3c72ca50130.tar.gz
gcc-6703f185d4ddf982349c9c884226e3c72ca50130.tar.bz2
functional (function<>::swap): Use std::swap.
2010-10-04 Paolo Carlini <paolo.carlini@oracle.com> * include/std/functional (function<>::swap): Use std::swap. * include/tr1/functional (function<>::swap): Likewise. From-SVN: r164952
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/std/functional12
-rw-r--r--libstdc++-v3/include/tr1/functional12
3 files changed, 11 insertions, 18 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index a8259b0..6604d68 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/std/functional (function<>::swap): Use std::swap.
+ * include/tr1/functional (function<>::swap): Likewise.
+
2010-10-04 Andreas Schwab <schwab@redhat.com>
* acinclude.m4 (GLIBCXX_ENABLE): Properly quote argument to
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index d137f47..dcd7ab8 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -1940,15 +1940,9 @@ namespace std
*/
void swap(function& __x)
{
- _Any_data __old_functor = _M_functor;
- _M_functor = __x._M_functor;
- __x._M_functor = __old_functor;
- _Manager_type __old_manager = _M_manager;
- _M_manager = __x._M_manager;
- __x._M_manager = __old_manager;
- _Invoker_type __old_invoker = _M_invoker;
- _M_invoker = __x._M_invoker;
- __x._M_invoker = __old_invoker;
+ std::swap(_M_functor, __x._M_functor);
+ std::swap(_M_manager, __x._M_manager);
+ std::swap(_M_invoker, __x._M_invoker);
}
// TODO: needs allocator_arg_t
diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional
index 3340de6..869150f 100644
--- a/libstdc++-v3/include/tr1/functional
+++ b/libstdc++-v3/include/tr1/functional
@@ -1907,15 +1907,9 @@ namespace tr1
*/
void swap(function& __x)
{
- _Any_data __old_functor = _M_functor;
- _M_functor = __x._M_functor;
- __x._M_functor = __old_functor;
- _Manager_type __old_manager = _M_manager;
- _M_manager = __x._M_manager;
- __x._M_manager = __old_manager;
- _Invoker_type __old_invoker = _M_invoker;
- _M_invoker = __x._M_invoker;
- __x._M_invoker = __old_invoker;
+ std::swap(_M_functor, __x._M_functor);
+ std::swap(_M_manager, __x._M_manager);
+ std::swap(_M_invoker, __x._M_invoker);
}
// [3.7.2.3] function capacity