Kaydet (Commit) 01fd60b8 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Make external/firebird work with C++14 sized deallocation

...where firebird's replacements of global new/delete would still be called for
"new" but not for "delete".  Lets hope that always adding the C++14 size_t
overloads of operator delete is harmless in all relevant pre-C++14 environments,
and only causes harmless warnings like -Wimplicit-exception-spec-mismatch in all
relevant C++14 environments.

(But why does a /library/ replace global new/delete in the first place?)

Change-Id: Ib0b0ad748c6641c07ffed6cec3d6809a1530679f
Reviewed-on: https://gerrit.libreoffice.org/19081Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst 324212ce
......@@ -11,11 +11,14 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,firebird))
$(eval $(call gb_UnpackedTarball_set_tarball,firebird,$(FIREBIRD_TARBALL)))
$(eval $(call gb_UnpackedTarball_set_patchlevel,firebird,0))
$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
external/firebird/firebird-rpath.patch.0 \
external/firebird/firebird-c++11.patch.1 \
external/firebird/firebird-c++11replfn.patch.0 \
external/firebird/firebird.disable-ib-util-not-found.patch.1 \
external/firebird/firebird-c++14.patch \
))
ifeq ($(OS)-$(COM),WNT-MSC)
......
--- src/common/classes/alloc.cpp
+++ src/common/classes/alloc.cpp
@@ -2121,3 +2121,11 @@
{
Firebird::MemoryPool::globalFree(mem);
}
+void operator delete(void* mem, size_t) throw()
+{
+ Firebird::MemoryPool::globalFree(mem);
+}
+void operator delete[](void* mem, size_t) throw()
+{
+ Firebird::MemoryPool::globalFree(mem);
+}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment