| // Copyright 2018 The Fuchsia Authors | |
| // | |
| // Use of this source code is governed by a MIT-style | |
| // license that can be found in the LICENSE file or at | |
| // https://opensource.org/licenses/MIT | |
| #pragma once | |
| // This is used by libc++'s <new> just for std::abort, ::posix_memalign, and | |
| // ::free. | |
| #include <stdlib.h> | |
| #include <__config> | |
| #pragma GCC system_header | |
| // This is used by the __libcpp_aligned_alloc inline. Since it always fails | |
| // that inline will trivially always return nullptr. | |
| inline int posix_memalign(void** ptr, size_t align, size_t size) { return 1; } | |
| // This is used by the __libcpp_aligned_free inline, which won't really ever be | |
| // called. The kernel does have a real free declared elsewhere. | |
| void free(void* ptr); | |
| _LIBCPP_BEGIN_NAMESPACE_STD | |
| using ::abort; | |
| _LIBCPP_END_NAMESPACE_STD |