From 29b34d92bbaa467fa6f9b28071563ffb340702ba Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Sun, 5 Nov 2023 23:04:03 +0200 Subject: [iOS] Fix building as static library or xcframework, add iOS config and xcframework build script to the test project. --- src/core/memory.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/core/memory.cpp') diff --git a/src/core/memory.cpp b/src/core/memory.cpp index 80e71ec..8118511 100644 --- a/src/core/memory.cpp +++ b/src/core/memory.cpp @@ -103,28 +103,29 @@ _GlobalNil _GlobalNilClass::_nil; } // namespace godot -void *operator new(size_t p_size, const char *p_description) { +// p_dummy argument is added to avoid conflicts with the engine functions when both engine and GDExtension are built as a static library on iOS. +void *operator new(size_t p_size, const char *p_dummy, const char *p_description) { return godot::Memory::alloc_static(p_size); } -void *operator new(size_t p_size, void *(*p_allocfunc)(size_t p_size)) { +void *operator new(size_t p_size, const char *p_dummy, void *(*p_allocfunc)(size_t p_size)) { return p_allocfunc(p_size); } using namespace godot; #ifdef _MSC_VER -void operator delete(void *p_mem, const char *p_description) { +void operator delete(void *p_mem, const char *p_dummy, const char *p_description) { ERR_PRINT("Call to placement delete should not happen."); CRASH_NOW(); } -void operator delete(void *p_mem, void *(*p_allocfunc)(size_t p_size)) { +void operator delete(void *p_mem, const char *p_dummy, void *(*p_allocfunc)(size_t p_size)) { ERR_PRINT("Call to placement delete should not happen."); CRASH_NOW(); } -void operator delete(void *p_mem, void *p_pointer, size_t check, const char *p_description) { +void operator delete(void *p_mem, const char *p_dummy, void *p_pointer, size_t check, const char *p_description) { ERR_PRINT("Call to placement delete should not happen."); CRASH_NOW(); } -- cgit v1.2.3