llvm-project/libcxxabi
Louis Dionne a78aaa1ad5 [libc++] Factor out common logic for calling aligned allocation
There were a couple of places where we needed to call the underlying
platform's aligned allocation/deallocation function. Instead of having
the same logic all over the place, extract the logic into a pair of
helper functions __libcpp_aligned_alloc and __libcpp_aligned_free.

The code in libcxxabi/src/fallback_malloc.cpp looks like it could be
simplified after this change -- I purposefully did not simplify it
further to keep this change as straightforward as possible, since it
is touching very important parts of the library.

Also, the changes in libcxx/src/new.cpp and libcxxabi/src/stdlib_new_delete.cpp
are basically the same -- I just kept both source files in sync.

The underlying reason for this refactoring is to make it easier to support
platforms that provide aligned allocation through C11's aligned_alloc
function instead of posix_memalign. After this change, we'll only have
to add support for that in a single place.

Differential Revision: https://reviews.llvm.org/D91379
2020-11-25 15:44:50 -05:00
..
cmake [libcxxabi,libunwind] support running tests in standalone mode 2020-10-14 09:10:20 +02:00
fuzz
include [libcxxabi] Define _LIBCXXABI_WEAK properly for mingw compilers 2020-10-22 09:00:57 +03:00
lib [libc++/abi] Revert "[libc++] Move the weak symbols list to libc++abi" 2020-10-05 11:42:13 -04:00
src [libc++] Factor out common logic for calling aligned allocation 2020-11-25 15:44:50 -05:00
test Demangling support for class type non-type template parameter extensions. 2020-11-20 13:45:08 -08:00
www [libc++abi] Simplify the logic for finding libc++ from libc++abi 2020-06-11 15:08:01 -04:00
.clang-format Fully Reformat fallback_malloc.cpp 2017-03-04 03:23:15 +00:00
.gitignore
CMakeLists.txt [libcxx] [libcxxabi] Set flags for visibility when statically linking libcxxabi into libcxx for windows 2020-11-03 17:13:48 +02:00
CREDITS.TXT Try again, this time with the correct address 2017-12-29 19:26:28 +00:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00