gcc/libstdc++-v3/libsupc++
Jonathan Wakely b66e5a95c0 PR libstdc++/68210 adjust operator new and delete for LWG 206
Ensure that nothrow versions of new and delete call the ordinary
versions of new or delete, instead of calling malloc or free directly.

These files are all compiled with -std=gnu++14 so can use noexcept and
nullptr to make the code more readable.

	PR libstdc++/68210
	* doc/xml/manual/intro.xml: Document LWG 206 change.
	* libsupc++/del_op.cc: Replace _GLIBCXX_USE_NOEXCEPT with noexcept.
	* libsupc++/del_opa.cc: Likewise.
	* libsupc++/del_opant.cc: Likewise.
	* libsupc++/del_opnt.cc: Likewise. Call operator delete(ptr) instead
	of free(ptr).
	* libsupc++/del_ops.cc: Replace _GLIBCXX_USE_NOEXCEPT with noexcept.
	* libsupc++/del_opsa.cc: Likewise.
	* libsupc++/del_opva.cc: Likewise.
	* libsupc++/del_opvant.cc: Likewise.
	* libsupc++/del_opvnt.cc: Likewise. Call operator delete[](ptr)
	instead of operator delete(ptr).
	* libsupc++/del_opvs.cc: Replace _GLIBCXX_USE_NOEXCEPT with noexcept.
	* libsupc++/del_opvsa.cc: Likewise.
	* libsupc++/new_op.cc: Use __builtin_expect in check for zero size.
	* libsupc++/new_opa.cc: Use nullptr instead of literal 0.
	* libsupc++/new_opant.cc: Likewise. Replace _GLIBCXX_USE_NOEXCEPT
	with noexcept.
	* libsupc++/new_opnt.cc: Likewise. Call operator new(sz) instead of
	malloc(sz).
	* libsupc++/new_opvant.cc: Use nullptr and noexcept.
	* libsupc++/new_opvnt.cc: Likewise. Call operator new[](sz) instead of
	operator new(sz, nothrow).
	* testsuite/18_support/new_nothrow.cc: New test.

From-SVN: r263478
2018-08-10 21:20:27 +01:00
..
Makefile.am Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.in PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
array_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
atexit_arm.cc Update copyright years. 2018-01-03 11:03:58 +01:00
atexit_thread.cc Update copyright years. 2018-01-03 11:03:58 +01:00
atomic_lockfree_defines.h Update copyright years. 2018-01-03 11:03:58 +01:00
bad_alloc.cc Update copyright years. 2018-01-03 11:03:58 +01:00
bad_array_length.cc Update copyright years. 2018-01-03 11:03:58 +01:00
bad_array_new.cc Update copyright years. 2018-01-03 11:03:58 +01:00
bad_cast.cc Update copyright years. 2018-01-03 11:03:58 +01:00
bad_typeid.cc Update copyright years. 2018-01-03 11:03:58 +01:00
class_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
cxxabi.h Update copyright years. 2018-01-03 11:03:58 +01:00
cxxabi_forced.h Update copyright years. 2018-01-03 11:03:58 +01:00
cxxabi_init_exception.h PR libstdc++/85812 fix memory leak in std::make_exception_ptr 2018-05-17 16:03:29 +01:00
del_op.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_opa.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_opant.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_opnt.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_ops.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_opsa.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_opv.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opva.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_opvant.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_opvnt.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_opvs.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
del_opvsa.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
dyncast.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_alloc.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_arm.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_atomics.h Update copyright years. 2018-01-03 11:03:58 +01:00
eh_aux_runtime.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_call.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_catch.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_exception.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_globals.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_personality.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_ptr.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_term_handler.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_terminate.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_throw.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_tm.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_type.cc Update copyright years. 2018-01-03 11:03:58 +01:00
eh_unex_handler.cc Update copyright years. 2018-01-03 11:03:58 +01:00
enum_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
exception Update copyright years. 2018-01-03 11:03:58 +01:00
exception.h PR libstdc++/85831 define move constructors and operators for exceptions 2018-07-05 22:29:51 +01:00
exception_defines.h Update copyright years. 2018-01-03 11:03:58 +01:00
exception_ptr.h PR libstdc++/85812 fix memory leak in std::make_exception_ptr 2018-05-17 16:03:29 +01:00
function_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
fundamental_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
guard.cc Update copyright years. 2018-01-03 11:03:58 +01:00
guard_error.cc Update copyright years. 2018-01-03 11:03:58 +01:00
hash_bytes.cc Update copyright years. 2018-01-03 11:03:58 +01:00
hash_bytes.h Update copyright years. 2018-01-03 11:03:58 +01:00
initializer_list Update copyright years. 2018-01-03 11:03:58 +01:00
nested_exception.cc Update copyright years. 2018-01-03 11:03:58 +01:00
nested_exception.h Update copyright years. 2018-01-03 11:03:58 +01:00
new Don't unconditionally define feature test macros in <version> 2018-07-31 23:31:14 +01:00
new_handler.cc Update copyright years. 2018-01-03 11:03:58 +01:00
new_op.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
new_opa.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
new_opant.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
new_opnt.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
new_opv.cc Update copyright years. 2018-01-03 11:03:58 +01:00
new_opva.cc Update copyright years. 2018-01-03 11:03:58 +01:00
new_opvant.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
new_opvnt.cc PR libstdc++/68210 adjust operator new and delete for LWG 206 2018-08-10 21:20:27 +01:00
pbase_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
pmem_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
pointer_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
pure.cc Update copyright years. 2018-01-03 11:03:58 +01:00
si_class_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
tinfo.cc Update copyright years. 2018-01-03 11:03:58 +01:00
tinfo.h Update copyright years. 2018-01-03 11:03:58 +01:00
tinfo2.cc Update copyright years. 2018-01-03 11:03:58 +01:00
typeinfo Update copyright years. 2018-01-03 11:03:58 +01:00
unwind-cxx.h Update copyright years. 2018-01-03 11:03:58 +01:00
vec.cc Update copyright years. 2018-01-03 11:03:58 +01:00
vmi_class_type_info.cc Update copyright years. 2018-01-03 11:03:58 +01:00
vterminate.cc Update copyright years. 2018-01-03 11:03:58 +01:00
vtv_stubs.cc Update copyright years. 2018-01-03 11:03:58 +01:00