summaryrefslogtreecommitdiff
path: root/external/firebird/c++20.patch
diff options
context:
space:
mode:
authorStephan Bergmann <stephan.bergmann@allotropia.de>2024-01-17 21:11:54 +0100
committerStephan Bergmann <stephan.bergmann@allotropia.de>2024-01-18 17:00:46 +0100
commitfdf7bd6c1cb8756d37813e72fbbec704d1c0f770 (patch)
tree52dba1d07aaba85ac79d6d41642ef0d1f8fb9a89 /external/firebird/c++20.patch
parent7baceb937de6a3eef7710cedd11590081ce759f9 (diff)
Don't artificially limit external/firebird to -std=gnu++11 on Linux
0a42105a8d95473646b850eed6d428ebb93fc01f "firebird: fix CXXFLAGS" had added this to override Firebird's internal -std=gnu++03, but even back then the CXXFLAGS set there already included $(CXXFLAGS_CXX11) (so adding an explicit -std=gnu++11 should never have been necessary), and CXXFLAGS_CXX11 has by now moved beyond -std=gnu++11 to at least -std=c++20. Which reveals that the code has a C++20 incompatibility that only GCC so far complains about (see the mailing list thread starting at <https://lists.isocpp.org/std-discussion/2024/01/2482.php> "simple-template-id in a constructor declaration"), > In file included from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/../gpre/../common/../jrd/../common/classes/fb_string.h:39, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/../gpre/../common/../jrd/ods.h:38, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/../gpre/../common/dsc.h:32, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/../gpre/gpre.h:1514, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/gpre/hsh.cpp:31: > /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/include/../common/classes/alloc.h:264:36: error: expected ')' before '*' token > 264 | SubsystemThreadData* subThreadData, > | ^ > | ) > /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/firebird/src/include/../common/classes/alloc.h:263:9: note: to match this '(' > 263 | ( > | ^ (<https://ci.libreoffice.org/job/gerrit_linux_gcc_release/157406/>), etc. Change-Id: I89839452a0d474467ae62e57b6c990354e10f142 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162209 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Diffstat (limited to 'external/firebird/c++20.patch')
-rw-r--r--external/firebird/c++20.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/external/firebird/c++20.patch b/external/firebird/c++20.patch
new file mode 100644
index 000000000000..97168ce31838
--- /dev/null
+++ b/external/firebird/c++20.patch
@@ -0,0 +1,61 @@
+--- src/common/classes/Nullable.h
++++ src/common/classes/Nullable.h
+@@ -113,19 +113,19 @@
+ template <typename T> class Nullable : public BaseNullable<T>
+ {
+ public:
+- explicit Nullable<T>(const T& v)
++ explicit Nullable(const T& v)
+ {
+ this->value = v;
+ this->specified = true;
+ }
+
+- Nullable<T>(const Nullable<T>& o)
++ Nullable(const Nullable<T>& o)
+ {
+ this->value = o.value;
+ this->specified = o.specified;
+ }
+
+- Nullable<T>()
++ Nullable()
+ {
+ NullableClear<T>::clear(this->value);
+ this->specified = false;
+--- src/common/classes/alloc.h
++++ src/common/classes/alloc.h
+@@ -259,7 +259,7 @@
+ class SubsystemContextPoolHolder : public ContextPoolHolder
+ {
+ public:
+- SubsystemContextPoolHolder <SubsystemThreadData, SubsystemPool>
++ SubsystemContextPoolHolder
+ (
+ SubsystemThreadData* subThreadData,
+ SubsystemPool* newPool
+--- src/common/classes/stack.h
++++ src/common/classes/stack.h
+@@ -36,7 +36,7 @@
+ class Stack : public AutoStorage
+ {
+ private:
+- Stack<Object, Capacity>(Stack<Object, Capacity>&); // not implemented
++ Stack(Stack<Object, Capacity>&); // not implemented
+
+ class Entry : public Vector<Object, Capacity>
+ {
+@@ -117,11 +117,11 @@
+ Entry* stk_cache;
+
+ public:
+- explicit Stack<Object, Capacity>(MemoryPool& p)
++ explicit Stack(MemoryPool& p)
+ : AutoStorage(p), stk(0), stk_cache(0)
+ { }
+
+- Stack<Object, Capacity>() : AutoStorage(), stk(0), stk_cache(0) { }
++ Stack() : AutoStorage(), stk(0), stk_cache(0) { }
+
+ ~Stack()
+ {