        {
  	using std::swap;
  	swap(first, __p.first);
+diff -ur a/bits/stl_queue.h b/bits/stl_queue.h
+--- a/bits/stl_queue.h	2011-03-15 14:49:05.000000000 -0700
++++ b/bits/stl_queue.h	2011-05-02 23:36:15.000000000 -0700
+@@ -249,7 +249,7 @@
+ 
+ #ifdef __GXX_EXPERIMENTAL_CXX0X__
+       void
+-      swap(queue&& __q)
++      swap(queue& __q)
+       { c.swap(__q.c); }
+ #endif
+     };
+@@ -550,7 +550,7 @@
+ 
+ #ifdef __GXX_EXPERIMENTAL_CXX0X__
+       void
+-      swap(priority_queue&& __pq)
++      swap(priority_queue& __pq)
+       {
+ 	using std::swap;
+ 	c.swap(__pq.c);
 diff -ur a/bits/stl_set.h b/bits/stl_set.h
 --- a/bits/stl_set.h	2011-03-15 14:49:05.000000000 -0700
 +++ b/bits/stl_set.h	2011-03-29 10:33:39.000000000 -0700

 
 _GLIBCXX_END_NAMESPACE
 
diff -ur a/bits/stl_deque.h b/bits/stl_deque.h
--- a/bits/stl_deque.h	2011-03-15 14:49:05.000000000 -0700
+++ b/bits/stl_deque.h	2011-03-29 10:33:39.000000000 -0700


This patch is offered under the same modified GPLv3 as libstdc++-4.4.

diff -ur a/bits/forward_list.h b/bits/forward_list.h
--- a/bits/forward_list.h	2011-03-15 14:49:05.000000000 -0700
+++ b/bits/forward_list.h	2011-05-02 23:51:33.000000000 -0700
@@ -983,7 +983,7 @@
        *  function.
        */
       void
-      swap(forward_list&& __list)
+      swap(forward_list& __list)
       { _Node_base::swap(this->_M_impl._M_head, __list._M_impl._M_head); }
 
       /**
diff -ur a/bits/move.h b/bits/move.h
--- a/bits/move.h	2011-03-15 14:49:05.000000000 -0700
+++ b/bits/move.h	2011-03-29 10:33:39.000000000 -0700
