diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-11-10 11:38:21 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-11-10 11:38:21 +0100 |
commit | adb0cfc59c94efea8b8232827805c6e144dda970 (patch) | |
tree | 5862d27d16315867946796d390f4318b9cf7e91d /src/core/memory.cpp | |
parent | cc89bd21324c3820d1823456563bcc30855b5c5e (diff) | |
parent | 29b34d92bbaa467fa6f9b28071563ffb340702ba (diff) | |
download | redot-cpp-adb0cfc59c94efea8b8232827805c6e144dda970.tar.gz |
Merge pull request #1302 from bruvzg/ios_static
[iOS] Fix building as static library or xcframework, add iOS config and xcframework build script to the test project.
Diffstat (limited to 'src/core/memory.cpp')
-rw-r--r-- | src/core/memory.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
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(); } |