From 10a850f584f2a3276737ca7621f380ebfd29b4ed Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 17 Apr 2023 16:19:44 -0700 Subject: [PATCH] QReadWriteLock: don't mark fully-inline classes as exported We can't remove the export in Qt 6 because of how MSVC ABI works. In all other compilers, this change is a no-op anyway (inline functions have hidden visibility). Change-Id: I3d728c4197df49169066fffd1756dc377b30c504 Reviewed-by: Marc Mutz --- src/corelib/thread/qreadwritelock.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/corelib/thread/qreadwritelock.h b/src/corelib/thread/qreadwritelock.h index 8e96e23ad2..cea38fa47f 100644 --- a/src/corelib/thread/qreadwritelock.h +++ b/src/corelib/thread/qreadwritelock.h @@ -45,7 +45,7 @@ private: #pragma warning( disable : 4312 ) // ignoring the warning from /Wp64 #endif -class Q_CORE_EXPORT QReadLocker +class QT6_ONLY(Q_CORE_EXPORT) QReadLocker { public: inline QReadLocker(QReadWriteLock *readWriteLock); @@ -89,7 +89,7 @@ inline QReadLocker::QReadLocker(QReadWriteLock *areadWriteLock) relock(); } -class Q_CORE_EXPORT QWriteLocker +class QT6_ONLY(Q_CORE_EXPORT) QWriteLocker { public: inline QWriteLocker(QReadWriteLock *readWriteLock); @@ -140,7 +140,7 @@ inline QWriteLocker::QWriteLocker(QReadWriteLock *areadWriteLock) #else // QT_CONFIG(thread) -class Q_CORE_EXPORT QReadWriteLock +class QT6_ONLY(Q_CORE_EXPORT) QReadWriteLock { public: enum RecursionMode { NonRecursive, Recursive }; @@ -161,7 +161,7 @@ private: Q_DISABLE_COPY(QReadWriteLock) }; -class Q_CORE_EXPORT QReadLocker +class QT6_ONLY(Q_CORE_EXPORT) QReadLocker { public: inline explicit QReadLocker(QReadWriteLock *) noexcept { } @@ -175,7 +175,7 @@ private: Q_DISABLE_COPY(QReadLocker) }; -class Q_CORE_EXPORT QWriteLocker +class QT6_ONLY(Q_CORE_EXPORT) QWriteLocker { public: inline explicit QWriteLocker(QReadWriteLock *) noexcept { }