https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85642
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Author: redi Date: Fri May 4 08:57:23 2018 New Revision: 259928 URL: https://gcc.gnu.org/viewcvs?rev=259928&root=gcc&view=rev Log: PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>> Add missing noexcept keyword to default constructor of each _Optional_payload specialization. PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>> * include/std/optional (_Optional_payload): Add noexcept to default constructor. Re-indent. (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to constructor for copying disengaged payloads. (_Optional_payload<_Tp, true, false, true>): Likewise. (_Optional_payload<_Tp, true, true, false>): Likewise. (_Optional_payload<_Tp, true, false, false>): Likewise. * testsuite/20_util/optional/cons/85642.cc: New. * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines. Added: trunk/libstdc++-v3/testsuite/20_util/optional/cons/85642.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/std/optional trunk/libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc