Fix -Wsuggest-override warnings from Clang 11+
Before this patch, Clang versions greater than 11.0.0 emitted -Wsuggest-override warnings whenever the Q_OBJECT macro was used. Excerpt from compiling GammaRay against Qt 6, using Clang 13.0.0: ``` .../qtbase/src/corelib/io/qfile.h:96:5: warning: 'qt_metacall' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] Q_OBJECT ^ .../qt5/qtbase/src/corelib/kernel/qtmetamacros.h:166:17: note: expanded from macro 'Q_OBJECT' virtual int qt_metacall(QMetaObject::Call, int, void **); \ ^ .../qt5/qtbase/src/corelib/io/qfiledevice.h:54:5: note: overridden virtual function is here Q_OBJECT ^ .../qt5/qtbase/src/corelib/kernel/qtmetamacros.h:166:17: note: expanded from macro 'Q_OBJECT' virtual int qt_metacall(QMetaObject::Call, int, void **); \ ^ ``` This was also discussed on the QtCreator mailing list: https://www.mail-archive.com/qt-creator@qt-project.org/msg08500.html Pick-to: 6.2 6.3 Change-Id: I149782472ce8a2e30ed8062ada460c39926f1613 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
dcdb8884e7
commit
f57fd83f7d
@ -136,8 +136,12 @@ QT_BEGIN_NAMESPACE
|
|||||||
# define Q_DECL_HIDDEN_STATIC_METACALL Q_DECL_HIDDEN
|
# define Q_DECL_HIDDEN_STATIC_METACALL Q_DECL_HIDDEN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(Q_CC_CLANG) && Q_CC_CLANG >= 306
|
#if defined(Q_CC_CLANG)
|
||||||
# define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_CLANG("-Winconsistent-missing-override")
|
# if Q_CC_CLANG >= 1100
|
||||||
|
# define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_CLANG("-Winconsistent-missing-override") QT_WARNING_DISABLE_CLANG("-Wsuggest-override")
|
||||||
|
# elif Q_CC_CLANG >= 306
|
||||||
|
# define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_CLANG("-Winconsistent-missing-override")
|
||||||
|
# endif
|
||||||
#elif defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && Q_CC_GNU >= 501
|
#elif defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && Q_CC_GNU >= 501
|
||||||
# define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_GCC("-Wsuggest-override")
|
# define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_GCC("-Wsuggest-override")
|
||||||
#else
|
#else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user