// Copyright 2020 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 #include // std::stable_sort (used as ktl::stable_sort) uses std::get_temporary_buffer, // which uses operator new to request a temporary buffer but then works fine // if it can't get one. There is no "default" memory allocation in the // kernel, so just provide a stub operator new that always fails so // std::stable_sort falls back to its no-allocation algorithm. namespace std { const nothrow_t nothrow; } // namespace std void* operator new(std::size_t, const std::nothrow_t&) noexcept { return nullptr; } void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) noexcept { return nullptr; }