blob: 919d941784c15dd5dd9154f49194a5800d112877 [file] [log] [blame]
// 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
#include <new>
// 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;