16 void *Result = ::operator
new(
Size,
17#ifdef __cpp_aligned_new
18 std::align_val_t(Alignment),
21 if (Result ==
nullptr) {
29#ifdef __cpp_sized_deallocation
33#ifdef __cpp_aligned_new
35 std::align_val_t(Alignment)
#define LLVM_ATTRIBUTE_RETURNS_NOALIAS
\macro LLVM_ATTRIBUTE_RETURNS_NOALIAS Used to mark a function as returning a pointer that does not al...
#define LLVM_ATTRIBUTE_RETURNS_NONNULL
This file defines counterparts of C library allocation functions defined in the namespace 'std'.
LLVM_ATTRIBUTE_RETURNS_NONNULL LLVM_ATTRIBUTE_RETURNS_NOALIAS void * allocate_buffer(size_t Size, size_t Alignment)
Allocate a buffer of memory with the given size and alignment.
void deallocate_buffer(void *Ptr, size_t Size, size_t Alignment)
Deallocate a buffer of memory with the given size and alignment.
void report_bad_alloc_error(const char *Reason, bool GenCrashDiag=true)
Reports a bad alloc error, calling any user defined bad alloc error handler.