This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [v3 PATCH] Cross-port exception-safety and move fixes of std::any to std::experimental::any.
- From: Ville Voutilainen <ville dot voutilainen at gmail dot com>
- To: "libstdc++" <libstdc++ at gcc dot gnu dot org>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 24 Oct 2016 02:35:30 +0300
- Subject: Re: [v3 PATCH] Cross-port exception-safety and move fixes of std::any to std::experimental::any.
- Authentication-results: sourceware.org; auth=none
- References: <CAFk2RUaKi+rTjzCEDNvJkOE5JJKi-k0X3cgO6ERr3fR3aJsLeg@mail.gmail.com>
On 24 October 2016 at 02:33, Ville Voutilainen
<ville.voutilainen@gmail.com> wrote:
> * include/std/any (operator=(const any&)):
No sir, that's not what the patch modifies:
2016-10-24 Ville Voutilainen <ville.voutilainen@gmail.com>
Cross-port exception-safety and move fixes of std::any to
std::experimental::any.
* include/experimental/any (operator=(const any&)):
Make strongly exception-safe.
(operator=(any&&)): clear() unconditionally in the case where
rhs has a value.
(_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
* testsuite/experimental/any/assign/2.cc: Adjust.
* testsuite/experimental/any/assign/exception.cc: New.
* testsuite/experimental/any/cons/2.cc: Adjust.
* testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.