Commit Graph

7 Commits

Author SHA1 Message Date
Jakub Jelinek 8d9254fc8a Update copyright years.
From-SVN: r279813
2020-01-01 12:51:42 +01:00
Jakub Jelinek a554497024 Update copyright years.
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Jonathan Wakely d04dbb8ad3 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.

From-SVN: r262456
2018-07-05 22:29:51 +01:00
Jason Merrill f07c223768 Some libstdc++ fixes for -Wdeprecated-copy.
* include/bits/stl_deque.h (_Deque_iterator): Constrain constructor
	for conversion to const_iterator.  Add defaulted copy ops.
	* libsupc++/new (bad_alloc): Add defaulted copy ops.
	* libsupc++/exception.h (exception): Add defaulted copy ops.
	* include/std/system_error (system_error): Add defaulted copy ops.
	* include/std/stdexcept (domain_error, invalid_argument)
	(length_error, out_of_range, range_error, overflow_error)
	(underflow_error): Add defaulted copy ops.
	* include/bits/stl_iterator.h (reverse_iterator): Add defaulted
	copy assignment.
	* include/bits/allocator.h (allocator): Add defaulted copy assignment.
	* include/ext/throw_allocator.h (condition_base): Add defaulted
	default and copy ctor and copy assignment.

From-SVN: r260380
2018-05-18 16:02:14 -04:00
Jakub Jelinek 85ec4feb11 Update copyright years.
From-SVN: r256169
2018-01-03 11:03:58 +01:00
Jakub Jelinek cbe34bb5ed Update copyright years.
From-SVN: r243994
2017-01-01 13:07:43 +01:00
Gleb Natapov 27abac2648 libstdc++/68297 avoid throw/catch in make_exception_ptr
2016-08-22  Gleb Natapov  <gleb@scylladb.com>

	PR libstdc++/68297
	* config/abi/pre/gnu-versioned-namespace.ver: Export
	__cxa_init_primary_exception and std::exception_ptr(void*).
	* config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
	export __cxa_init_primary_exception and std::exception_ptr(void*).
	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Add new headers.
	* libsupc++/Makefile.in: Regenerate.
	* libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
	* libsupc++/cxxabi_init_exception.h: New header.
	(__cxa_init_primary_exception): Declare.
	* libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
	(__cxa_throw): Use __cxa_init_primary_exception.
	* libsupc++/exception (std::exception): Move to ...
	* libsupc++/exception.h: New header.
	* libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
	friend declaration.
	(__exception_ptr::__dest_thunk): New function template.
	(std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
	Use __cxa_allocate_exception and __cxa_init_primary_exception to
	create exception_ptr.
	* libsupc++/typeinfo: Include bits/exception.h instead of exception.
	* testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.

From-SVN: r239664
2016-08-22 18:29:31 +01:00