PR69301 don't assume atomic<T> can default construct T
commit6e9c114d8315bf72073ef6b047edfc3a55cb5750
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Jan 2017 18:36:45 +0000 (18 18:36 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Jan 2017 18:36:45 +0000 (18 18:36 +0000)
tree90794a848af1e0d74bdf80751717721a84d17794
parent1dbd61abb0df03812152bb7438547bd13f1f46db
PR69301 don't assume atomic<T> can default construct T

PR libstdc++/69301
* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
aligned buffer instead of default-initialized variable.
* testsuite/29_atomics/atomic/69301.cc: New test.
* include/experimental/memory (observer_ptr::release): Use reserved
name.
* include/ext/pointer.h (_Pointer_adapter::operator++(int))
(_Pointer_adapter::operator--(int)): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244588 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/experimental/memory
libstdc++-v3/include/ext/pointer.h
libstdc++-v3/include/std/atomic
libstdc++-v3/testsuite/29_atomics/atomic/69301.cc [new file with mode: 0644]