summaryrefslogtreecommitdiffstats
path: root/src/core/memory.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-11-10 11:38:21 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-11-10 11:38:21 +0100
commitadb0cfc59c94efea8b8232827805c6e144dda970 (patch)
tree5862d27d16315867946796d390f4318b9cf7e91d /src/core/memory.cpp
parentcc89bd21324c3820d1823456563bcc30855b5c5e (diff)
parent29b34d92bbaa467fa6f9b28071563ffb340702ba (diff)
downloadredot-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.cpp11
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();
}