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