This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[v3] Add missing forward_list<>::splice_after and merge overloads fix splice_after taking a range
- From: Paolo Carlini <paolo dot carlini at oracle dot com>
- To: libstdc++ <libstdc++ at gcc dot gnu dot org>
- Date: Wed, 11 Apr 2012 02:53:54 +0200
- Subject: [v3] Add missing forward_list<>::splice_after and merge overloads fix splice_after taking a range
Hi,
Nico noticed in private email that we weren't implementing LWG 1310,
thus I proceede to add the required overloads, pretty trivial work
(suited for 4.7.1 too).
But then, when I got to the testcases I noticed that really almost
nothing worked as expected for the splice_after overload taking a range:
memory leaks easily noticeable for existing testcases too; also showing
up as "disappearing" elements of the destination forward_list; in some
cases the end of the range improperly handled (thus, as , last], instead
of last), as must always be). Hey, we had a complexity much lower than
the expected O(distance(first, last)) per C++11 ;) Thus I'm fixing this
rather serious issue too. Have a look, tomorrow I mean to commit to
mainline.
Tested x86_64-linux, normal and debug (and a lot of valgrind too).
Thanks,
Paolo.
/////////////////////
Attachment:
CL_nico
Description: Text document
Attachment:
patch_nico
Description: Text document