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:
Jonathan Wakely 2014-03-11 17:16:41 +00:00 committed by Jonathan Wakely
parent e24e31ef96
commit 06dce00742
19 changed files with 317 additions and 20 deletions

View File

@ -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

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View 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 <forward_list>
std::forward_list<int> a, b = std::move(a);

View 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);

View 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);

View 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);

View 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);

View 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 <unordered_map>
std::unordered_map<int, int> a, b = std::move(a);

View 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 <unordered_map>
std::unordered_multimap<int, int> a, b = std::move(a);

View 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 <unordered_set>
std::unordered_multiset<int> a, b = std::move(a);

View 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 <unordered_set>
std::unordered_set<int> a, b = std::move(a);

View 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);