diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-10-01 18:14:56 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-10-02 06:37:03 +0000 |
commit | 01fd60b8fa614f5911d96bb34b40c62ebe1c20fb (patch) | |
tree | e8e610531b7f695f746df7644e31b4880bc0a86c /external/firebird/firebird-c++14.patch | |
parent | 324212ce01c10a8811d25c95d1ae6a83d8214f3d (diff) |
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/19081
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external/firebird/firebird-c++14.patch')
-rw-r--r-- | external/firebird/firebird-c++14.patch | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/external/firebird/firebird-c++14.patch b/external/firebird/firebird-c++14.patch new file mode 100644 index 000000000000..ad095bf6793e --- /dev/null +++ b/external/firebird/firebird-c++14.patch @@ -0,0 +1,14 @@ +--- 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); ++} |