This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/78389] list::merge and list::sort are not exception safe
- From: "ville at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 13 Jan 2017 14:46:57 +0000
- Subject: [Bug libstdc++/78389] list::merge and list::sort are not exception safe
- Auto-submitted: auto-generated
- References: <bug-78389-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78389
--- Comment #1 from ville at gcc dot gnu.org ---
Author: ville
Date: Fri Jan 13 14:46:25 2017
New Revision: 244439
URL: https://gcc.gnu.org/viewcvs?rev=244439&root=gcc&view=rev
Log:
PR libstdc++/78389
* include/bits/list.tcc (merge(list&&)):
Adjust list sizes if the comparator throws.
(merge(list&&, _StrictWeakOrdering)): Likewise.
(sort()): Splice elements back from the scratch buffers
if the comparator throws.
(sort(_StrictWeakOrdering)): Likewise.
* testsuite/23_containers/list/operations/78389.cc: New.
Added:
trunk/libstdc++-v3/testsuite/23_containers/list/operations/78389.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/list.tcc