/*! \file * \brief C++ runtime support functions */ #include "../debug/assert.h" #include "../types.h" void* operator new([[maybe_unused]] size_t size, void* place) { return place; } void* operator new(size_t size) { (void)size; assert(!"Memory allocation not supported"); } void* operator new[](size_t size) { (void)size; assert(!"Memory allocation not supported"); } void operator delete(void* ptr) { (void)ptr; } void operator delete(void* ptr, [[maybe_unused]] size_t size) { operator delete(ptr); } void operator delete[](void* ptr) { operator delete(ptr); } void operator delete[](void* ptr, size_t size) { operator delete(ptr, size); } extern "C" [[noreturn]] void __cxa_pure_virtual() { // Pure virtual function was called -- this if obviously not valid, // therefore we wait infinitely. while (true) { } }