PR libstdc++/85831 define move constructors and operators for exceptions
commit9190361f448ffd64cf689895eb104ccb0dacb2d9
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Jul 2018 21:29:51 +0000 (5 21:29 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Jul 2018 21:29:51 +0000 (5 21:29 +0000)
tree3c6d2ba152ada4df1eaf32360d28c94b3d60b014
parent4e9be08f79aa152f01d74ef8a00fb0c960d59786
PR libstdc++/85831 define move constructors and operators for exceptions

PR libstdc++/85831
* config/abi/pre/gnu.ver: Export move constructors and move
assignment operators for std::logic_error and std::runtime_error.
* include/std/stdexcept: Use _GLIBCXX_NOTHROW instead of
_GLIBCXX_USE_NOEXCEPT.
(logic_error, runtime_error): Declare move constructors and move
assignment operators. When not declared already, define copy
constructors and copy assignment operators as explicit-defaulted.
(domain_error, invalid_argument, length_error, out_of_range)
(overflow_error, underflow_error): Define move constructors and move
assignment operators as explicitly-defaulted.
* libsupc++/exception.h (exception): Likewise.
* src/c++11/cow-stdexcept.cc (logic_error, runtime_error): Define
move constructors and move assignment operators as defaulted.
* testsuite/19_diagnostics/stdexcept.cc: Check that constructors and
assignment operators are defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262456 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/include/std/stdexcept
libstdc++-v3/libsupc++/exception.h
libstdc++-v3/src/c++11/cow-stdexcept.cc
libstdc++-v3/testsuite/19_diagnostics/stdexcept.cc