diff options
author | Ville Voutilainen <ville.voutilainen@gmail.com> | 2016-10-24 15:46:44 +0300 |
---|---|---|
committer | Ville Voutilainen <ville@gcc.gnu.org> | 2016-10-24 15:46:44 +0300 |
commit | f11cc05023b90e1d24521cc09a065497732a8f6f (patch) | |
tree | 3a1b63e17adc7ada6334846b6f90783e87546b43 /gcc/fortran/trans-array.c | |
parent | 405def8d4667163a262f6c9fcb4a8f675dae4193 (diff) | |
download | gcc-f11cc05023b90e1d24521cc09a065497732a8f6f.zip gcc-f11cc05023b90e1d24521cc09a065497732a8f6f.tar.gz gcc-f11cc05023b90e1d24521cc09a065497732a8f6f.tar.bz2 |
Cross-port the latest resolution of LWG2756 and some bug-fixes to experimental::optional.
Cross-port the latest resolution of LWG2756 and some
bug-fixes to experimental::optional.
PR libstdc++/77288
PR libstdc++/77727
* include/experimental/optional (_Optional_base):
Remove constructors that take a _Tp.
(__is_optional_impl, __is_optional): Remove.
(__converts_from_optional): New.
(optional(_Up&&)): Fix constraints, call base with in_place.
(optional(const optional<_Up>&)): Fix constraints, use emplace.
(optional(optional<_Up>&&)): Likewise.
(operator=(_Up&&)): Fix constraints.
(operator=(const optional<_Up>&)): Likewise.
(operator=(optional<_Up>&&)): Likewise.
(emplace(_Args&&...)): Constrain.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* testsuite/experimental/optional/77288.cc: New.
* testsuite/experimental/optional/assignment/5.cc: Adjust.
* testsuite/experimental/optional/cons/77727.cc: New.
* testsuite/experimental/optional/cons/value.cc: Adjust.
From-SVN: r241476
Diffstat (limited to 'gcc/fortran/trans-array.c')
0 files changed, 0 insertions, 0 deletions