valarray (~valarray): Use noexcept.
2011-06-14 Paolo Carlini <paolo.carlini@oracle.com> * include/std/valarray (~valarray): Use noexcept. * include/bits/unique_ptr.h (~unique_ptr): Likewise. * testsuite/26_numerics/valarray/noexcept_move_construct.cc: New. * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc: Likewise. * testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc: Likewise. * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc: Likewise. From-SVN: r175039
This commit is contained in:
parent
fa4657624c
commit
6a97dbf748
@ -1,3 +1,15 @@
|
||||
2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* include/std/valarray (~valarray): Use noexcept.
|
||||
* include/bits/unique_ptr.h (~unique_ptr): Likewise.
|
||||
* testsuite/26_numerics/valarray/noexcept_move_construct.cc: New.
|
||||
* testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
|
||||
Likewise.
|
||||
* testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc:
|
||||
Likewise.
|
||||
* testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
|
||||
Likewise.
|
||||
|
||||
2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* include/std/functional: Use noexcept.
|
||||
|
@ -166,7 +166,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
#endif
|
||||
|
||||
// Destructor.
|
||||
~unique_ptr() { reset(); }
|
||||
~unique_ptr() noexcept { reset(); }
|
||||
|
||||
// Assignment.
|
||||
unique_ptr&
|
||||
|
@ -165,7 +165,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
template<class _Dom>
|
||||
valarray(const _Expr<_Dom, _Tp>& __e);
|
||||
|
||||
~valarray();
|
||||
~valarray() _GLIBCXX_NOEXCEPT;
|
||||
|
||||
// _lib.valarray.assign_ assignment:
|
||||
/**
|
||||
@ -697,7 +697,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
template<typename _Tp>
|
||||
inline
|
||||
valarray<_Tp>::~valarray()
|
||||
valarray<_Tp>::~valarray() _GLIBCXX_NOEXCEPT
|
||||
{
|
||||
std::__valarray_destroy_elements(_M_data, _M_data + _M_size);
|
||||
std::__valarray_release_memory(_M_data);
|
||||
|
@ -0,0 +1,27 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++0x" }
|
||||
|
||||
// 2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
//
|
||||
// Copyright (C) 2011 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/>.
|
||||
|
||||
#include <memory>
|
||||
|
||||
typedef std::shared_ptr<int> sptype;
|
||||
|
||||
static_assert(std::is_nothrow_move_constructible<sptype>::value, "Error");
|
@ -0,0 +1,27 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++0x" }
|
||||
|
||||
// 2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
//
|
||||
// Copyright (C) 2011 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/>.
|
||||
|
||||
#include <memory>
|
||||
|
||||
typedef std::unique_ptr<int> uptype;
|
||||
|
||||
static_assert(std::is_nothrow_move_constructible<uptype>::value, "Error");
|
@ -0,0 +1,27 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++0x" }
|
||||
|
||||
// 2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
//
|
||||
// Copyright (C) 2011 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/>.
|
||||
|
||||
#include <memory>
|
||||
|
||||
typedef std::weak_ptr<int> wptype;
|
||||
|
||||
static_assert(std::is_nothrow_move_constructible<wptype>::value, "Error");
|
@ -0,0 +1,27 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-std=gnu++0x" }
|
||||
|
||||
// 2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
//
|
||||
// Copyright (C) 2011 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/>.
|
||||
|
||||
#include <valarray>
|
||||
|
||||
typedef std::valarray<int> vtype;
|
||||
|
||||
static_assert(std::is_nothrow_move_constructible<vtype>::value, "Error");
|
Loading…
Reference in New Issue
Block a user