re PR libstdc++/60499 (non-reserved name in <debug/vector>)
PR libstdc++/60499 * include/debug/forward_list (forward_list::operator=(forward_list&&)): Uglify name. * include/debug/map (map::operator=(map&&)): Likewise. * include/debug/multimap (multimap::operator=(multimap&&)): Likewise. * include/debug/multiset (multiset::operator=(multiset&&)): Likewise. * include/debug/set (set::operator=(set&&)): Likewise. * include/debug/unordered_map (unordered_map::operator=(unordered_map&&)): Likewise. (unordered_multimap::operator=(unordered_multimap&&)): Likewise. * include/debug/unordered_set (unordered_set::operator=(unordered_set&&)): Likewise. (unordered_multiset::operator=(unordered_multiset&&)): Likewise. * include/debug/vector (vector::operator=(vector&&)): Likewise. * testsuite/23_containers/forward_list/debug/60499.cc: New * testsuite/23_containers/map/debug/60499.cc: New * testsuite/23_containers/multimap/debug/60499.cc: New * testsuite/23_containers/multiset/debug/60499.cc: New * testsuite/23_containers/set/debug/60499.cc: New * testsuite/23_containers/unordered_map/debug/60499.cc: New * testsuite/23_containers/unordered_multimap/debug/60499.cc: New * testsuite/23_containers/unordered_multiset/debug/60499.cc: New * testsuite/23_containers/unordered_set/debug/60499.cc: New * testsuite/23_containers/vector/debug/60499.cc: New From-SVN: r208490
This commit is contained in:
parent
e24e31ef96
commit
06dce00742
19 changed files with 317 additions and 20 deletions
|
@ -1,3 +1,30 @@
|
|||
2014-03-11 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/60499
|
||||
* include/debug/forward_list (forward_list::operator=(forward_list&&)):
|
||||
Uglify name.
|
||||
* include/debug/map (map::operator=(map&&)): Likewise.
|
||||
* include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
|
||||
* include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
|
||||
* include/debug/set (set::operator=(set&&)): Likewise.
|
||||
* include/debug/unordered_map
|
||||
(unordered_map::operator=(unordered_map&&)): Likewise.
|
||||
(unordered_multimap::operator=(unordered_multimap&&)): Likewise.
|
||||
* include/debug/unordered_set
|
||||
(unordered_set::operator=(unordered_set&&)): Likewise.
|
||||
(unordered_multiset::operator=(unordered_multiset&&)): Likewise.
|
||||
* include/debug/vector (vector::operator=(vector&&)): Likewise.
|
||||
* testsuite/23_containers/forward_list/debug/60499.cc: New
|
||||
* testsuite/23_containers/map/debug/60499.cc: New
|
||||
* testsuite/23_containers/multimap/debug/60499.cc: New
|
||||
* testsuite/23_containers/multiset/debug/60499.cc: New
|
||||
* testsuite/23_containers/set/debug/60499.cc: New
|
||||
* testsuite/23_containers/unordered_map/debug/60499.cc: New
|
||||
* testsuite/23_containers/unordered_multimap/debug/60499.cc: New
|
||||
* testsuite/23_containers/unordered_multiset/debug/60499.cc: New
|
||||
* testsuite/23_containers/unordered_set/debug/60499.cc: New
|
||||
* testsuite/23_containers/vector/debug/60499.cc: New
|
||||
|
||||
2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
|
||||
|
||||
* doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
|
||||
|
|
|
@ -140,10 +140,10 @@ namespace __debug
|
|||
noexcept(_Node_alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__list);
|
||||
bool xfer_memory = _Node_alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Node_alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __list.get_allocator() == this->get_allocator();
|
||||
static_cast<_Base&>(*this) = std::move(__list);
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__list);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
|
|
@ -148,10 +148,10 @@ namespace __debug
|
|||
noexcept(_Alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__x);
|
||||
bool xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __x.get_allocator() == this->get_allocator();
|
||||
_M_base() = std::move(__x._M_base());
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__x);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
|
|
@ -150,10 +150,10 @@ namespace __debug
|
|||
noexcept(_Alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__x);
|
||||
bool xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __x.get_allocator() == this->get_allocator();
|
||||
_M_base() = std::move(__x._M_base());
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__x);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
|
|
@ -149,10 +149,10 @@ namespace __debug
|
|||
noexcept(_Alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__x);
|
||||
bool xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __x.get_allocator() == this->get_allocator();
|
||||
_M_base() = std::move(__x._M_base());
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__x);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
|
|
@ -148,10 +148,10 @@ namespace __debug
|
|||
noexcept(_Alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__x);
|
||||
bool xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __x.get_allocator() == this->get_allocator();
|
||||
_M_base() = std::move(__x._M_base());
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__x);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
|
|
@ -143,10 +143,10 @@ namespace __debug
|
|||
noexcept(_Alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__x);
|
||||
bool xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __x.get_allocator() == this->get_allocator();
|
||||
_M_base() = std::move(__x._M_base());
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__x);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
@ -599,10 +599,10 @@ namespace __debug
|
|||
noexcept(_Alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__x);
|
||||
bool xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __x.get_allocator() == this->get_allocator();
|
||||
_M_base() = std::move(__x._M_base());
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__x);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
|
|
@ -142,10 +142,10 @@ namespace __debug
|
|||
noexcept(_Alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__x);
|
||||
bool xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __x.get_allocator() == this->get_allocator();
|
||||
_M_base() = std::move(__x._M_base());
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__x);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
@ -593,10 +593,10 @@ namespace __debug
|
|||
noexcept(_Alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__x);
|
||||
bool xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __x.get_allocator() == this->get_allocator();
|
||||
_M_base() = std::move(__x._M_base());
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__x);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
|
|
@ -163,10 +163,10 @@ namespace __debug
|
|||
operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
|
||||
{
|
||||
__glibcxx_check_self_move_assign(__x);
|
||||
bool xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
bool __xfer_memory = _Alloc_traits::_S_propagate_on_move_assign()
|
||||
|| __x.get_allocator() == this->get_allocator();
|
||||
_M_base() = std::move(__x._M_base());
|
||||
if (xfer_memory)
|
||||
if (__xfer_memory)
|
||||
this->_M_swap(__x);
|
||||
else
|
||||
this->_M_invalidate_all();
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <forward_list>
|
||||
|
||||
std::forward_list<int> a, b = std::move(a);
|
27
libstdc++-v3/testsuite/23_containers/map/debug/60499.cc
Normal file
27
libstdc++-v3/testsuite/23_containers/map/debug/60499.cc
Normal file
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <map>
|
||||
|
||||
std::map<int, int> a, b = std::move(a);
|
27
libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc
Normal file
27
libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc
Normal file
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <map>
|
||||
|
||||
std::multimap<int, int> a, b = std::move(a);
|
27
libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc
Normal file
27
libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc
Normal file
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <set>
|
||||
|
||||
std::multiset<int> a, b = std::move(a);
|
27
libstdc++-v3/testsuite/23_containers/set/debug/60499.cc
Normal file
27
libstdc++-v3/testsuite/23_containers/set/debug/60499.cc
Normal file
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <set>
|
||||
|
||||
std::set<int> a, b = std::move(a);
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <unordered_map>
|
||||
|
||||
std::unordered_map<int, int> a, b = std::move(a);
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <unordered_map>
|
||||
|
||||
std::unordered_multimap<int, int> a, b = std::move(a);
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <unordered_set>
|
||||
|
||||
std::unordered_multiset<int> a, b = std::move(a);
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <unordered_set>
|
||||
|
||||
std::unordered_set<int> a, b = std::move(a);
|
27
libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc
Normal file
27
libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc
Normal file
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// { dg-require-debug-mode "" }
|
||||
// { dg-options "-std=gnu++11" }
|
||||
// { dg-do compile }
|
||||
|
||||
// PR libstdc++/60499
|
||||
|
||||
#define xfer_memory 1
|
||||
#include <vector>
|
||||
|
||||
std::vector<int> a, b = std::move(a);
|
Loading…
Add table
Reference in a new issue