diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2022-06-17 19:29:21 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2022-06-24 20:01:32 -0700 |
commit | 97fbf7d151fbadb2c4541a5e0689810584a9a210 (patch) | |
tree | 4d4421f1d36c6728adff4cce0392d3018f88a901 | |
parent | 8726647df40c61ed6d79da1e3845ef289bcf8b38 (diff) |
qmetatype.h: remove unnecessary EXPORT macro
It was introduced in commit d9f9bc9bada91e3ec2b6c496d3b2242506ca56bc for
Qt 6.0 to avoid extern __declspec(dllexport), which MSVC doesn't like,
but was made obsolete by commit 77b99e8111cdd06b4fe12f2e18950a1e40ee2b76
that removed the extern templates altogether for MSVC.
This change is NOT a no-op because Q_CORE_EXPORT expands to
Q_DECL_IMPORT which is __attribute__((visibility("default"))) on ELF
platforms. That's actually a good thing, because the symbol is not
defined in any library that is not called QtCore anyway. GCC and Linux
are also going towards properly requiring imported symbols to be
explicitly marked, which this is.
Task-number: QTBUG-93471
Pick-to: 6.3 6.4
Change-Id: Id0fb9ab0089845ee8843fffd16f99616883281e3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r-- | src/corelib/kernel/qmetatype.h | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index 219feac91f..3722e3f7a3 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -2377,14 +2377,8 @@ public: */ #if !defined(QT_BOOTSTRAPPED) && !defined(Q_CC_MSVC) -#if !defined(QT_BUILD_CORE_LIB) -#define QT_METATYPE_TEMPLATE_EXPORT Q_CORE_EXPORT -#else -#define QT_METATYPE_TEMPLATE_EXPORT -#endif - -#define QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER(TypeName, Id, Name) \ - extern template class QT_METATYPE_TEMPLATE_EXPORT QMetaTypeForType<Name>; +#define QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER(TypeName, Id, Name) \ + extern template class Q_CORE_EXPORT QMetaTypeForType<Name>; QT_WARNING_PUSH QT_WARNING_DISABLE_GCC("-Wattributes") // false positive because of QMetaTypeForType<void> QT_FOR_EACH_STATIC_PRIMITIVE_TYPE(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER) @@ -2394,7 +2388,6 @@ QT_FOR_EACH_STATIC_CORE_CLASS(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER) QT_FOR_EACH_STATIC_CORE_POINTER(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER) QT_FOR_EACH_STATIC_CORE_TEMPLATE(QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER) #undef QT_METATYPE_DECLARE_EXTERN_TEMPLATE_ITER -#undef QT_METATYPE_TEMPLATE_EXPORT #endif template<typename T> |