diff --git a/src/corelib/thread/qgenericatomic.h b/src/corelib/thread/qgenericatomic.h index 0fa9a9a418..e9f9218644 100644 --- a/src/corelib/thread/qgenericatomic.h +++ b/src/corelib/thread/qgenericatomic.h @@ -53,8 +53,10 @@ QT_END_NAMESPACE #pragma qt_sync_stop_processing #endif -template struct QAtomicOpsSupport { enum { IsSupported = 0 }; }; -template<> struct QAtomicOpsSupport<4> { enum { IsSupported = 1 }; }; +template struct QAtomicOpsSupport +{ + enum { IsSupported = (Size == sizeof(int) || Size == sizeof(qptrdiff)) }; +}; template struct QAtomicAdditiveType {