summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-01-19 16:19:44 +0100
committerStephan Bergmann <sbergman@redhat.com>2016-01-20 08:41:52 +0100
commit3179e8f7e6ce550bbe766ed730e68b0374944dd5 (patch)
treef48a0f61071f3c8a6d1253da27c636ef25e0e207
parent23c2c7c9cb86db4a36f8a798e63402a053816ef2 (diff)
external/firebird: Adapt to GCC 6
...which switched defaults from C++03 to C++14, so causes some errors now. Curiously, the throw(std::bad_alloc) vs. throw-anything mismatch between the global operator new replacements and the standard headers is OK for GCC only when there is no further declaration in between the standard header and the replacmenet definition. Change-Id: Ib54727fecf4ad07426b811a9cc04b08ea80e59dc
-rw-r--r--external/firebird/firebird-c++11.patch.126
-rw-r--r--external/firebird/firebird-c++11replfn.patch.06
2 files changed, 27 insertions, 5 deletions
diff --git a/external/firebird/firebird-c++11.patch.1 b/external/firebird/firebird-c++11.patch.1
index e8cb52d4d7fd..289057766016 100644
--- a/external/firebird/firebird-c++11.patch.1
+++ b/external/firebird/firebird-c++11.patch.1
@@ -1,4 +1,19 @@
# -*- Mode: Diff -*-
+--- firebird/src/dudley/exe.epp
++++ firebird/src/dudley/exe.epp
+@@ -2884,9 +2884,9 @@
+ blr_parameter, 0, 0, 0,
+ blr_parameter, 0, 1, 0,
+ blr_parameter, 1, 0, 0,
+- blr_end,
+- blr_end,
+- blr_end,
++ SCHAR(blr_end),
++ SCHAR(blr_end),
++ SCHAR(blr_end),
+ blr_eoc
+ };
+ static FB_API_HANDLE req_handle;
--- firebird/src/gpre/c_cxx.cpp
+++ firebird/src/gpre/c_cxx.cpp
@@ -876,7 +876,7 @@
@@ -156,6 +171,17 @@
}
else {
sprintf(p, "%d", value);
+--- firebird/src/gpre/sqe.cpp
++++ firebird/src/gpre/sqe.cpp
+@@ -2529,7 +2529,7 @@
+ return par_stat(request);
+
+ if (MSC_match(KW_MINUS))
+- return MSC_unary(nod_negate, par_primitive_value(request, false, paren_count, false));
++ return MSC_unary(nod_negate, par_primitive_value(request, false, paren_count, NULL));
+
+ MSC_match(KW_PLUS);
+
--- firebird/src/common/classes/alloc.cpp
+++ firebird/src/common/classes/alloc.cpp
@@ -1100,7 +1100,7 @@
diff --git a/external/firebird/firebird-c++11replfn.patch.0 b/external/firebird/firebird-c++11replfn.patch.0
index d14296ccfa08..53b1dd0d045c 100644
--- a/external/firebird/firebird-c++11replfn.patch.0
+++ b/external/firebird/firebird-c++11replfn.patch.0
@@ -1,6 +1,6 @@
--- src/common/classes/alloc.h
+++ src/common/classes/alloc.h
-@@ -489,23 +489,11 @@
+@@ -489,23 +489,7 @@
inline static MemoryPool* getDefaultMemoryPool() { return Firebird::MemoryPool::processMemoryPool; }
// Global versions of operators new and delete
@@ -12,8 +12,6 @@
-{
- return Firebird::MemoryPool::globalAlloc(s);
-}
-+void* operator new(size_t s) THROW_BAD_ALLOC;
-+void* operator new[](size_t s) THROW_BAD_ALLOC;
-inline void operator delete(void* mem) throw()
-{
@@ -23,8 +21,6 @@
-{
- Firebird::MemoryPool::globalFree(mem);
-}
-+void operator delete(void* mem) throw();
-+void operator delete[](void* mem) throw();
#ifdef DEBUG_GDS_ALLOC
inline void* operator new(size_t s, Firebird::MemoryPool& pool, const char* file, int line)