mirror of git://gcc.gnu.org/git/gcc.git
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>
|
2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
* include/std/functional: Use noexcept.
|
* include/std/functional: Use noexcept.
|
||||||
|
|
|
@ -166,7 +166,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Destructor.
|
// Destructor.
|
||||||
~unique_ptr() { reset(); }
|
~unique_ptr() noexcept { reset(); }
|
||||||
|
|
||||||
// Assignment.
|
// Assignment.
|
||||||
unique_ptr&
|
unique_ptr&
|
||||||
|
|
|
@ -165,7 +165,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
template<class _Dom>
|
template<class _Dom>
|
||||||
valarray(const _Expr<_Dom, _Tp>& __e);
|
valarray(const _Expr<_Dom, _Tp>& __e);
|
||||||
|
|
||||||
~valarray();
|
~valarray() _GLIBCXX_NOEXCEPT;
|
||||||
|
|
||||||
// _lib.valarray.assign_ assignment:
|
// _lib.valarray.assign_ assignment:
|
||||||
/**
|
/**
|
||||||
|
@ -697,7 +697,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||||
|
|
||||||
template<typename _Tp>
|
template<typename _Tp>
|
||||||
inline
|
inline
|
||||||
valarray<_Tp>::~valarray()
|
valarray<_Tp>::~valarray() _GLIBCXX_NOEXCEPT
|
||||||
{
|
{
|
||||||
std::__valarray_destroy_elements(_M_data, _M_data + _M_size);
|
std::__valarray_destroy_elements(_M_data, _M_data + _M_size);
|
||||||
std::__valarray_release_memory(_M_data);
|
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