external/firebird/0001-Make-comparison-operator-member-functions-const.patch.1 | 49 ++++++++++ external/firebird/UnpackedTarball_firebird.mk | 4 2 files changed, 53 insertions(+)
New commits: commit 77f00a0237c9484dc3c71d0300df2007f581c5da Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Mon Oct 21 18:09:00 2019 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Mon Oct 21 21:56:57 2019 +0200 external/firebird: Make comparison operator member functions const see commit message of external/firebird/0001-Make-comparison-operator-member-functions-const.patch.1 for details Change-Id: I559e4b6ef2dbf3800ff5013dcde078d69296d2fb Reviewed-on: https://gerrit.libreoffice.org/81261 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/external/firebird/0001-Make-comparison-operator-member-functions-const.patch.1 b/external/firebird/0001-Make-comparison-operator-member-functions-const.patch.1 new file mode 100644 index 000000000000..42c677f7e5ad --- /dev/null +++ b/external/firebird/0001-Make-comparison-operator-member-functions-const.patch.1 @@ -0,0 +1,49 @@ +From 15390d75ee6ca429dbbe15ea04214df8a30fbd48 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann <sberg...@redhat.com> +Date: Mon, 21 Oct 2019 17:54:18 +0200 +Subject: [PATCH] Make comparison operator member functions const + +...which avoids overload resolution ambiguities in C++20, when a synthesized +candidate of operator == for a reversed-argument rewrite conflicts with the +actual operator ==, due to the asymmetric const-ness of the implicit object +parameter and the RHS parameter. (As observed with recent Clang 10 trunk with +-std=c++2a when building firebird as part of LibreOffice: + +> workdir/UnpackedTarball/firebird/src/jrd/inf.cpp:1139:62: error: use of overloaded operator '!=' is ambiguous (with operand types 'RuntimeStatistics::Iterator' and 'Jrd::RuntimeStatistics::Iterator') +> for (RuntimeStatistics::Iterator iter = stats.begin(); iter != stats.end(); ++iter) +> ~~~~ ^ ~~~~~~~~~~~ +> workdir/UnpackedTarball/firebird/src/jrd/../dsql/../jrd/RuntimeStatistics.h:283:8: note: candidate function +> bool operator!=(const Iterator& other) +> ^ +> workdir/UnpackedTarball/firebird/src/jrd/../dsql/../jrd/RuntimeStatistics.h:278:8: note: candidate function +> bool operator==(const Iterator& other) +> ^ +> workdir/UnpackedTarball/firebird/src/jrd/../dsql/../jrd/RuntimeStatistics.h:278:8: note: candidate function (with reversed parameter order) + +) +--- + src/jrd/RuntimeStatistics.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/jrd/RuntimeStatistics.h b/src/jrd/RuntimeStatistics.h +index 74a03de2ad..fab286ad1a 100644 +--- a/src/jrd/RuntimeStatistics.h ++++ b/src/jrd/RuntimeStatistics.h +@@ -290,12 +290,12 @@ public: + {} + + public: +- bool operator==(const Iterator& other) ++ bool operator==(const Iterator& other) const + { + return (m_counts == other.m_counts); + } + +- bool operator!=(const Iterator& other) ++ bool operator!=(const Iterator& other) const + { + return (m_counts != other.m_counts); + } +-- +2.21.0 + diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk index a2fe0afec0e5..a3ee4bfe1835 100644 --- a/external/firebird/UnpackedTarball_firebird.mk +++ b/external/firebird/UnpackedTarball_firebird.mk @@ -18,6 +18,9 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,firebird,\ extern/editline \ )) +# * external/firebird/0001-Make-comparison-operator-member-functions-const.patch.1 is upstream at +# <https://github.com/FirebirdSQL/firebird/pull/227> "Make comparison operator member functions +# const": $(eval $(call gb_UnpackedTarball_add_patches,firebird,\ external/firebird/firebird.disable-ib-util-not-found.patch.1 \ external/firebird/firebird-Engine12.patch \ @@ -32,6 +35,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,firebird,\ external/firebird/ubsan.patch \ external/firebird/asan.patch \ external/firebird/firebird-tdf125284.patch.1 \ + external/firebird/0001-Make-comparison-operator-member-functions-const.patch.1 \ )) ifeq ($(OS),WNT) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits