gcc/libstdc++-v3/libsupc++
Jonathan Wakely 1d1b732865 PR libstdc++/86861 Meet precondition for Solaris memalign
Solaris memalign requires alignment to be at least sizeof(int), so
increase it as needed.

Also move the check for valid alignments from the fallback
implementation of aligned_alloc into operator new, as it's required for
all of aligned_alloc, memalign, posix_memalign and __aligned_malloc.
This adds a branch to check for undefined behaviour which we could just
ignore, so the check could just be removed. It should certainly be
removed if PR 86878 is implemented to issue a warning about calls with
invalid alignments.

	PR libstdc++/86861
	* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
	Replace macro with inline function.
	[__sun]: Increase alignment to meet memalign precondition.
	[!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
	(aligned_alloc): Move check for valid alignment to operator new.
	Remove redundant check for non-zero size, it's enforced by the caller.
	(operator new): Move check for valid alignment here. Use
	__builtin_expect on check for zero size.

From-SVN: r263360
2018-08-07 17:10:29 +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 Update copyright years. 2018-01-03 11:03:58 +01:00
del_opa.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opant.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opnt.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_ops.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opsa.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opv.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opva.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opvant.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opvnt.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opvs.cc Update copyright years. 2018-01-03 11:03:58 +01:00
del_opvsa.cc Update copyright years. 2018-01-03 11:03:58 +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 Update copyright years. 2018-01-03 11:03:58 +01:00
new_opa.cc PR libstdc++/86861 Meet precondition for Solaris memalign 2018-08-07 17:10:29 +01:00
new_opant.cc Update copyright years. 2018-01-03 11:03:58 +01:00
new_opnt.cc Update copyright years. 2018-01-03 11:03:58 +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 Update copyright years. 2018-01-03 11:03:58 +01:00
new_opvnt.cc Update copyright years. 2018-01-03 11:03:58 +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