diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2024-11-18 08:37:34 +0100 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2024-11-18 10:17:08 +0100 |
commit | 62c7d89c6a968f162f0ae53288574d0f3a685369 (patch) | |
tree | 54ff2077ec67357a46a664745bdc3270340fc59b /svtools | |
parent | 37e082bd2b968fcabd46b047643288f1d272e95c (diff) |
loplugin:dllprivate: Extend for new qtbase macro
Qt's qtbase commit [1]
commit cecca90ff23ff27b9396defc21abd472b3fe0003
Author: Thiago Macieira <thiago.macieira@intel.com>
AuthorDate: Tue Oct 1 11:26:30 2024 -0700
Commit: Thiago Macieira <thiago.macieira@intel.com>
CommitDate: Tue Nov 12 17:14:46 2024 -0800
moc: fix support for generating meta objects for nested private classes
introduced a new QT_OBJECT_GADGET_COMMON macro, causing my
`--enable-qt6` clang plugin build with current qtbase git dev
(as of commit 957e2be00a5c45223a5ef842a5f9f2f7b7be882b)
to fail as follows for classes using the Q_OBJECT macro:
In file included from /home/michi/development/git/libreoffice/vcl/qt6/QtAccessibleRegistry.cxx:10:
In file included from /home/michi/development/git/libreoffice/vcl/qt6/../qt5/QtAccessibleRegistry.cxx:11:
In file included from /home/michi/development/git/libreoffice/vcl/inc/qt6/QtXAccessible.hxx:10:
/home/michi/development/git/libreoffice/vcl/inc/qt6/../qt5/QtXAccessible.hxx:27:5: error: declaration nested in DLLPRIVATE declaration redundantly marked as DLLPRIVATE [loplugin:dllprivate]
27 | Q_OBJECT
| ^~~~~~~~
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qtmetamacros.h:145:5: note: expanded from macro 'Q_OBJECT'
145 | QT_OBJECT_GADGET_COMMON \
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qtmetamacros.h:132:5: note: expanded from macro 'QT_OBJECT_GADGET_COMMON'
132 | Q_DECL_HIDDEN_STATIC_METACALL static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/michi/development/git/qt5/qtbase/src/corelib/kernel/qtmetamacros.h:98:39: note: expanded from macro 'Q_DECL_HIDDEN_STATIC_METACALL'
98 | #define Q_DECL_HIDDEN_STATIC_METACALL Q_DECL_HIDDEN
| ^
/home/michi/development/git/qt5/qtbase/src/corelib/global/qcompilerdetection.h:190:46: note: expanded from macro 'Q_DECL_HIDDEN'
190 | # define Q_DECL_HIDDEN __attribute__((visibility("hidden")))
| ^
/home/michi/development/git/libreoffice/vcl/inc/qt6/../qt5/QtXAccessible.hxx:25:7: note: parent declaration is here [loplugin:dllprivate]
25 | class QtXAccessible : public QObject
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26 | {
| ~
27 | Q_OBJECT
| ~~~~~~~~
28 |
29 | public:
| ~~~~~~~
30 | QtXAccessible(css::uno::Reference<css::accessibility::XAccessible> xAccessible);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 |
32 | /** Reference to the XAccessible.
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33 | * This is cleared once it has been passed to the QtAccessibleWidget,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34 | * which then keeps an own reference and takes care of all required
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35 | * access to the XAccessible for the Qt a11y bridge. */
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36 | css::uno::Reference<css::accessibility::XAccessible> m_xAccessible;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 | };
| ~
1 error generated.
make[1]: *** [/home/michi/development/git/libreoffice/solenv/gbuild/LinkTarget.mk:339: /home/michi/development/git/libreoffice/workdir/CxxObject/vcl/qt6/QtAccessibleRegistry.o] Error 1
Extend the plugin to also take the new macro into account in
addition to Q_OBJECT.
[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=cecca90ff23ff27b9396defc21abd472b3fe0003
Change-Id: I990f0b25010b3a0f0cc3902f732b93d13bb85d78
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176702
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'svtools')
0 files changed, 0 insertions, 0 deletions