[Bug libstdc++/61645] New: forward_list::splice_after shall not throw exceptions
lh_mouse at 126 dot com
gcc-bugzilla@gcc.gnu.org
Sun Jun 29 07:25:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61645
Bug ID: 61645
Summary: forward_list::splice_after shall not throw exceptions
Product: gcc
Version: 4.10.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: lh_mouse at 126 dot com
ISO/IEC 14882:2011
23.3.4.6 forward_list operations [forwardlist.ops]
void splice_after(const_iterator position, forward_list& x);
void splice_after(const_iterator position, forward_list&& x);
(... omitted ...)
3 Throws: Nothing. **
4 Complexity: O(distance(x.begin(), x.end()))
// test_case.cpp
#include <forward_list>
int main(){
std::forward_list<int> l{1,2,3};
static_assert(
noexcept(l.splice_after(l.before_begin(), l)),
"!!"
); // fails
static_assert(
noexcept(l.splice_after(l.before_begin(), l, l.before_begin())),
"!!"
); // ditto
static_assert(
noexcept(l.splice_after(l.before_begin(), l, l.before_begin(),
l.end())),
"!!"
); // ditto
}
More information about the Gcc-bugs
mailing list