This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/78389] list::merge and list::sort are not exception safe


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]