[PATCH] LWG 2996 add rvalue overloads for shared_ptr aliasing and casting

Christophe Lyon christophe.lyon@linaro.org
Fri May 24 09:02:00 GMT 2019


Hi Jonathan,

On Thu, 23 May 2019 at 23:40, Jonathan Wakely <jwakely@redhat.com> wrote:
>
>         * doc/xml/manual/intro.xml: Document LWG DR 2996 change.
>         * doc/html/*: Regenerate.
>         * include/bits/shared_ptr.h (shared_ptr(shared_ptr&&, T*)): Add
>         rvalue aliasing constructor.
>         (static_pointer_cast, const_pointer, dynamic_pointer_cast)
>         (reinterpret_pointer_cast): Add overloads taking rvalues.
>         * include/bits/shared_ptr_base.h (__shared_ptr(__shared_ptr&&, T*)):
>         Add rvalue aliasing constructor.
>         * testsuite/20_util/shared_ptr/casts/1.cc: Change "compile" test to
>         "run" and check return values as well as types.
>         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
>         * testsuite/20_util/shared_ptr/casts/rval.cc: New test.
>         * testsuite/20_util/shared_ptr/cons/alias-rval.cc: New test.
>         * testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused return
>         values.
>
> Tested powerpc64le-linux, committed to trunk.
>

As you may have noticed, the new test alias-rval.cc fails on arm and
aarch64, and other targets according to gcc-testresults@

Christophe



More information about the Libstdc++ mailing list