This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [v3 PATCH] PR libstdc++/78389
- From: Ville Voutilainen <ville dot voutilainen at gmail dot com>
- To: Tim Song <t dot canens dot cpp at gmail dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "libstdc++" <libstdc++ at gcc dot gnu dot org>
- Date: Fri, 13 Jan 2017 10:09:51 +0200
- Subject: Re: [v3 PATCH] PR libstdc++/78389
- Authentication-results: sourceware.org; auth=none
- References: <CAFk2RUYmeFv5M4TX4_GuT71AVHaYLD=iXG7mzb+rYa+khoL-Vg@mail.gmail.com> <CAPQZVxtcQBh=WhioT_VNeY-heLBFyNGOhyt8WqtMnrbKPNzBBA@mail.gmail.com> <CAFk2RUZs3nB0HpWDaoiXK5Skq-8ima-ZAKCyXqfeEvqu_O6J0g@mail.gmail.com> <CAPQZVxsD-cF-XSTg6YDSnz+=hrT=EYv6UTAH8+AAdVk5CSC4xg@mail.gmail.com> <CAFk2RUYs6B5qizVp2C=LG=D8qEmuZtF9eMbtqhwBfCMyf_fcpw@mail.gmail.com> <CAFk2RUaBwFD8ao3nfkrvfbo7aXmd1gKQf3T88BNQM6tRbov=PQ@mail.gmail.com> <CAPQZVxvamQdpYDCdwrgrp+XE+vtnwB4ziV54-VOmCQDpiwE_Rw@mail.gmail.com>
On 13 January 2017 at 10:02, Tim Song <t.canens.cpp@gmail.com> wrote:
> On Fri, Jan 13, 2017 at 3:00 AM, Ville Voutilainen
> <ville.voutilainen@gmail.com> wrote:
>> On 13 January 2017 at 09:56, Ville Voutilainen
>> <ville.voutilainen@gmail.com> wrote:
>>>> problem with just going through all of them and splicing the contents
>>>> (if any) back to *this?
>>>
>>> Well, in addition to the computational complexity of it, not knowing
>>> which elements should be spliced
>>> back where. If a comparator given to sort() throws, trying to "unsort"
>>> with the same comparator
>>> can also throw, so I don't know how to reverse the operations done by
>>> that point.
>>
>> Ah, I think I see what you're saying. Just splice them back in any
>> order. Ok, I'll give that a spin.
>
> Right, list::sort doesn't promise strong exception safety, so
> "unsorting" is not needed.
>
> Also, shouldn't merge() rethrow the caught exception rather than swallow it?
Ha, yes, well spotted. I'll cook up an improved patch.