stl_list.h (_List_base::_List_base(_List_base&&)): Optimize.
* include/bits/stl_list.h (_List_base::_List_base(_List_base&&)): Optimize. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r213716
This commit is contained in:
parent
16918afd48
commit
d0ef19a0b2
|
@ -1,3 +1,16 @@
|
|||
2014-08-07 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
|
||||
Optimize.
|
||||
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
|
||||
Adjust dg-error line number.
|
||||
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
|
||||
Likewise.
|
||||
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
|
||||
Likewise.
|
||||
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
|
||||
Likewise.
|
||||
|
||||
2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/15339
|
||||
|
|
|
@ -377,8 +377,17 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
|||
_List_base(_List_base&& __x) noexcept
|
||||
: _M_impl(std::move(__x._M_get_Node_allocator()))
|
||||
{
|
||||
_M_init();
|
||||
__detail::_List_node_base::swap(_M_impl._M_node, __x._M_impl._M_node);
|
||||
auto* const __xnode = std::__addressof(__x._M_impl._M_node);
|
||||
if (__xnode->_M_next == __xnode)
|
||||
_M_init();
|
||||
else
|
||||
{
|
||||
auto* const __node = std::__addressof(_M_impl._M_node);
|
||||
__node->_M_next = __xnode->_M_next;
|
||||
__node->_M_prev = __xnode->_M_prev;
|
||||
__node->_M_next->_M_prev = __node->_M_prev->_M_next = __node;
|
||||
__xnode->_M_next = __xnode->_M_prev = __xnode;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// { dg-do compile }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1656 }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1665 }
|
||||
|
||||
#include <list>
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// { dg-do compile }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1608 }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1617 }
|
||||
|
||||
#include <list>
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// { dg-do compile }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1608 }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1617 }
|
||||
|
||||
#include <list>
|
||||
#include <utility>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// { dg-do compile }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1608 }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1617 }
|
||||
|
||||
#include <list>
|
||||
|
||||
|
|
Loading…
Reference in New Issue