r256694 - in /trunk/libstdc++-v3: ChangeLog inc...

ville@gcc.gnu.org ville@gcc.gnu.org
Mon Jan 15 11:32:00 GMT 2018


Author: ville
Date: Mon Jan 15 11:32:24 2018
New Revision: 256694

URL: https://gcc.gnu.org/viewcvs?rev=256694&root=gcc&view=rev
Log:
Make optional conditionally trivially_{copy,move}_{constructible,assignable}

* include/std/optional (_Optional_payload): Fix the comment in
the class head and turn into a primary and one specialization.
(_Optional_payload::_M_engaged): Strike the NSDMI.
(_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
New.
(_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
Likewise.
(_Optional_payload<_Tp, false>::_M_get): Likewise.
(_Optional_payload<_Tp, false>::_M_reset): Likewise.
(_Optional_base_impl): Likewise.
(_Optional_base): Turn into a primary and three specializations.
(optional(nullopt)): Change the base init.
* testsuite/20_util/optional/assignment/8.cc: New.
* testsuite/20_util/optional/cons/trivial.cc: Likewise.
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.

Added:
    trunk/libstdc++-v3/testsuite/20_util/optional/assignment/8.cc
    trunk/libstdc++-v3/testsuite/20_util/optional/cons/trivial.cc
      - copied, changed from r256690, trunk/libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/std/optional
    trunk/libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc



More information about the Gcc-cvs mailing list