git: 6b4b2fff3439 - 2024Q4 - editors/openoffice-*: Fix build error with clang 19
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 21 Nov 2024 20:29:29 UTC
The branch 2024Q4 has been updated by truckman:
URL: https://cgit.FreeBSD.org/ports/commit/?id=6b4b2fff3439acb0e3986b66bf750086c8dbeffa
commit 6b4b2fff3439acb0e3986b66bf750086c8dbeffa
Author: Don Lewis <truckman@FreeBSD.org>
AuthorDate: 2024-11-04 09:15:33 +0000
Commit: Don Lewis <truckman@FreeBSD.org>
CommitDate: 2024-11-21 20:29:17 +0000
editors/openoffice-*: Fix build error with clang 19
Fix this build error:
In file included from /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/OOXMLFactory.cxx:28:
In file included from /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/OOXMLFactory.hxx:39:
In file included from /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx:38:
/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/RefAndPointer.hxx:104:18: error: no member named 'getHandler' in 'RefAndPointer<Interface, ChildClass>'; did you mean 'mpHandler'?
104 | set(rSrc.getHandler());
| ^~~~~~~~~~
| mpHandler
/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.1.15/main/writerfilter/source/ooxml/RefAndPointer.hxx:39:26: note: 'mpHandler' declared here
39 | mutable ChildClass * mpHandler;
| ^
when building with:
FreeBSD clang version 19.1.2 (https://github.com/llvm/llvm-project.git llvmorg-19.1.2-0-g7ba7d8e2f7b6)
It appears that clang 19 does more sanity checks of unused class
methods than gcc, old versions of Microsoft Visual C++ used by the
AOO project, and older versions of clang.
The assign method in the RefAndPointer class has been broken since
forever and appears to be unused, so comment it out.
This is only a build fix and does not affect the generated code with
older compilers, so there is no PORTREVISION bump.
Reported by: pkg-fallout
(cherry picked from commit e9090c817e496dd0e45b88b57bff0063385e8ad8)
---
...tch-writerfilter_source_ooxml_RefAndPointer.hxx | 24 ++++++++++++++++++++++
...tch-writerfilter_source_ooxml_RefAndPointer.hxx | 24 ++++++++++++++++++++++
2 files changed, 48 insertions(+)
diff --git a/editors/openoffice-4/files/patch-writerfilter_source_ooxml_RefAndPointer.hxx b/editors/openoffice-4/files/patch-writerfilter_source_ooxml_RefAndPointer.hxx
new file mode 100644
index 000000000000..ca7a35f3d1e8
--- /dev/null
+++ b/editors/openoffice-4/files/patch-writerfilter_source_ooxml_RefAndPointer.hxx
@@ -0,0 +1,24 @@
+--- writerfilter/source/ooxml/RefAndPointer.hxx.orig 2021-04-02 12:58:23 UTC
++++ writerfilter/source/ooxml/RefAndPointer.hxx
+@@ -98,13 +98,14 @@ class RefAndPointer (public)
+ ChildClass * getPointer() const { return mpHandler; }
+ const uno::Reference<Interface> getRef() const { return mRef; }
+
+- RefAndPointer & operator=
+- (const RefAndPointer & rSrc)
+- {
+- set(rSrc.getHandler());
+-
+- return *this;
+- }
++// ...RefAndPointer.hxx:104:18: error: no member named 'getHandler' in 'RefAndPointer<Interface, ChildClass>'; did you mean 'mpHandler'?
++// RefAndPointer & operator=
++// (const RefAndPointer & rSrc)
++// {
++// set(rSrc.getHandler());
++//
++// return *this;
++// }
+
+ bool is() { return getRef().is(); }
+
diff --git a/editors/openoffice-devel/files/patch-writerfilter_source_ooxml_RefAndPointer.hxx b/editors/openoffice-devel/files/patch-writerfilter_source_ooxml_RefAndPointer.hxx
new file mode 100644
index 000000000000..4222cbefefbe
--- /dev/null
+++ b/editors/openoffice-devel/files/patch-writerfilter_source_ooxml_RefAndPointer.hxx
@@ -0,0 +1,24 @@
+--- writerfilter/source/ooxml/RefAndPointer.hxx.orig 2019-09-17 22:55:25 UTC
++++ writerfilter/source/ooxml/RefAndPointer.hxx
+@@ -75,13 +75,14 @@ class RefAndPointer (public)
+ ChildClass * getPointer() const { return mpHandler; }
+ const uno::Reference<Interface> getRef() const { return mRef; }
+
+- RefAndPointer & operator=
+- (const RefAndPointer & rSrc)
+- {
+- set(rSrc.getHandler());
+-
+- return *this;
+- }
++// ...RefAndPointer.hxx:104:18: error: no member named 'getHandler' in 'RefAndPointer<Interface, ChildClass>'; did you mean 'mpHandler'?
++// RefAndPointer & operator=
++// (const RefAndPointer & rSrc)
++// {
++// set(rSrc.getHandler());
++//
++// return *this;
++// }
+
+ bool is() { return getRef().is(); }
+