diff options
Diffstat (limited to 'src/corelib/thread/qgenericatomic.h')
-rw-r--r-- | src/corelib/thread/qgenericatomic.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/corelib/thread/qgenericatomic.h b/src/corelib/thread/qgenericatomic.h index 5c4c02a2ec..89c4fe9a11 100644 --- a/src/corelib/thread/qgenericatomic.h +++ b/src/corelib/thread/qgenericatomic.h @@ -253,12 +253,15 @@ template <typename BaseClass> struct QGenericAtomicOps return BaseClass::fetchAndAddRelaxed(_q_value, valueToAdd); } +QT_WARNING_PUSH +QT_WARNING_DISABLE_MSVC(4146) // unary minus operator applied to unsigned type, result still unsigned template <typename T> static Q_ALWAYS_INLINE T fetchAndSubRelaxed(T &_q_value, typename QAtomicAdditiveType<T>::AdditiveT operand) Q_DECL_NOTHROW { // implement fetchAndSub on top of fetchAndAdd return fetchAndAddRelaxed(_q_value, -operand); } +QT_WARNING_POP template <typename T> static Q_ALWAYS_INLINE T fetchAndSubAcquire(T &_q_value, typename QAtomicAdditiveType<T>::AdditiveT operand) Q_DECL_NOTHROW |