// Copyright 2018 Leo // SPDX-License-Identifier: BSD-3-Clause #include "platform.h" #if NCNN_SIMPLESTL #include // allocation functions void* operator new(size_t size) { return malloc(size); } void* operator new[](size_t size) { return malloc(size); } // placement allocation functions void* operator new(size_t /*size*/, void* ptr) { return ptr; } void* operator new[](size_t /*size*/, void* ptr) { return ptr; } // deallocation functions void operator delete(void* ptr) { free(ptr); } void operator delete[](void* ptr) { free(ptr); } // deallocation functions since c++14 #if __cplusplus >= 201402L void operator delete(void* ptr, size_t sz) { free(ptr); } void operator delete[](void* ptr, size_t sz) { free(ptr); } #endif // placement deallocation functions void operator delete(void* /*ptr*/, void* /*voidptr2*/) { } void operator delete[](void* /*ptr*/, void* /*voidptr2*/) { } extern "C" void __cxa_pure_virtual() { NCNN_LOGE("[Fatal] Pure virtual func called, now exit."); // do not abort here to avoid more unpredictable behaviour } #endif // NCNN_SIMPLESTL