Constrain optional's __constexpr_addressof in its return type
commit01f42cddecf7177e85419da7302ac3ae349f7f26
authorville <ville@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Dec 2016 12:47:54 +0000 (6 12:47 +0000)
committerville <ville@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Dec 2016 12:47:54 +0000 (6 12:47 +0000)
treee2e0634ffd2caefd6431cc83be8f28d78555af84
parent2a5d61f9e38c4de2766111dc5b56504e122b49fe
Constrain optional's __constexpr_addressof in its return type
and use a constexpr addressof for optional, if available.
* include/experimental/optional (__constexpr_addressof):
Constrain in the return type instead of in a template parameter.
(_Has_addressof_mem)
(_Has_addressof_free, _Has_addressof, __constexpr_addressof):
Guard with #ifndef __cpp_lib_addressof_constexpr.
(operator->()): Use std::__addressof if it's constexpr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243298 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/experimental/optional