This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] libstdc++/61645 add noexcept to forward_list::splice_after
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Tue, 28 Apr 2015 14:05:38 +0100
- Subject: [patch] libstdc++/61645 add noexcept to forward_list::splice_after
- Authentication-results: sourceware.org; auth=none
This isn't required, but we might as well add it for consistency with
std::list:splice and for extra noexceptiness.
Tested ppc64le-linux, committed to trunk.
commit 24308d6f00c2235fcc87ce0ab05e219696714699
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Wed Apr 8 17:35:13 2015 +0100
PR libstdc++/61645
* include/bits/forward_list.h (forward_list::splice_after): Add
noexcept.
* include/bits/forward_list.tcc (forward_list::splice_after):
Likewise.
diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h
index 88eee1f..dcb696f 100644
--- a/libstdc++-v3/include/bits/forward_list.h
+++ b/libstdc++-v3/include/bits/forward_list.h
@@ -1042,14 +1042,14 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* Requires this != @a x.
*/
void
- splice_after(const_iterator __pos, forward_list&& __list)
+ splice_after(const_iterator __pos, forward_list&& __list) noexcept
{
if (!__list.empty())
_M_splice_after(__pos, __list.before_begin(), __list.end());
}
void
- splice_after(const_iterator __pos, forward_list& __list)
+ splice_after(const_iterator __pos, forward_list& __list) noexcept
{ splice_after(__pos, std::move(__list)); }
/**
@@ -1064,11 +1064,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*/
void
splice_after(const_iterator __pos, forward_list&& __list,
- const_iterator __i);
+ const_iterator __i) noexcept;
void
splice_after(const_iterator __pos, forward_list& __list,
- const_iterator __i)
+ const_iterator __i) noexcept
{ splice_after(__pos, std::move(__list), __i); }
/**
@@ -1086,12 +1086,12 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*/
void
splice_after(const_iterator __pos, forward_list&&,
- const_iterator __before, const_iterator __last)
+ const_iterator __before, const_iterator __last) noexcept
{ _M_splice_after(__pos, __before, __last); }
void
splice_after(const_iterator __pos, forward_list&,
- const_iterator __before, const_iterator __last)
+ const_iterator __before, const_iterator __last) noexcept
{ _M_splice_after(__pos, __before, __last); }
/**
diff --git a/libstdc++-v3/include/bits/forward_list.tcc b/libstdc++-v3/include/bits/forward_list.tcc
index 00a26ed..8c85cdc 100644
--- a/libstdc++-v3/include/bits/forward_list.tcc
+++ b/libstdc++-v3/include/bits/forward_list.tcc
@@ -253,7 +253,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
void
forward_list<_Tp, _Alloc>::
splice_after(const_iterator __pos, forward_list&&,
- const_iterator __i)
+ const_iterator __i) noexcept
{
const_iterator __j = __i;
++__j;