[libcxx-commits] [PATCH] D88301: [libc++] Clean up logic around aligned/sized allocation and deallocation
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Sep 25 10:49:02 PDT 2020
ldionne added a comment.
In D88301#2295416 <https://reviews.llvm.org/D88301#2295416>, @hubert.reinterpretcast wrote:
> I don't think this patch makes sense given D87611 <https://reviews.llvm.org/D87611>. @Kai, @fanbo-meng, @abhina.sreeskantharajan, @zibi, fya.
>
> <stdin>:6:3: error: aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is not available on z/OS
> __builtin_operator_new(sizeof(int), static_cast<std::align_val_t>(16));
> ^
I think it does. The issue is that we're not detecting `_LIBCPP_HAS_NO_ALIGNED_ALLOCATION` properly.
That macro is defined as:
#if !defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION) && \
(defined(_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION) || \
(!defined(__cpp_aligned_new) || __cpp_aligned_new < 201606))
# define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION
#endif
What is `__cpp_aligned_new` set to on z/OS?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88301/new/
https://reviews.llvm.org/D88301
More information about the libcxx-commits
mailing list