diff options
author | Jan-Arve Saether <jan-arve.saether@nokia.com> | 2011-11-25 13:28:40 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-25 14:37:02 +0100 |
commit | f4b6628083bf98ffa9169d8a8b890d84b6046867 (patch) | |
tree | 87c78b42dd9299473a45e348015803db4ee30edd | |
parent | c1007112c867d979ffd969d74c6aab10d4bc9474 (diff) |
Make QBasicAtomicPointer work with T=const (int|any type) on Windows
Change-Id: I2301ea3fa399bcc5d6d8c6b487a3fb78db19c67a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
-rw-r--r-- | src/corelib/arch/qatomic_windows.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/arch/qatomic_windows.h b/src/corelib/arch/qatomic_windows.h index f3f99148f3..4807c69905 100644 --- a/src/corelib/arch/qatomic_windows.h +++ b/src/corelib/arch/qatomic_windows.h @@ -219,13 +219,13 @@ extern "C" { # define QT_INTERLOCKED_COMPARE_EXCHANGE_POINTER(value, newValue, expectedValue) \ QT_INTERLOCKED_FUNCTION( CompareExchangePointer )( \ - reinterpret_cast<void * QT_INTERLOCKED_VOLATILE *>( QT_INTERLOCKED_REMOVE_VOLATILE( value ) ), \ + (void * QT_INTERLOCKED_VOLATILE *)( QT_INTERLOCKED_REMOVE_VOLATILE(value) ), \ newValue, \ expectedValue ) # define QT_INTERLOCKED_EXCHANGE_POINTER(value, newValue) \ QT_INTERLOCKED_FUNCTION( ExchangePointer )( \ - reinterpret_cast<void * QT_INTERLOCKED_VOLATILE *>( QT_INTERLOCKED_REMOVE_VOLATILE( value ) ), \ + (void * QT_INTERLOCKED_VOLATILE *)( QT_INTERLOCKED_REMOVE_VOLATILE(value) ), \ newValue ) # define QT_INTERLOCKED_EXCHANGE_ADD_POINTER(value, valueToAdd) \ @@ -345,7 +345,7 @@ inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd) template <typename T> Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue) { - return QT_INTERLOCKED_COMPARE_EXCHANGE_POINTER(&_q_value, newValue, expectedValue) + return QT_INTERLOCKED_COMPARE_EXCHANGE_POINTER(&_q_value, (void*)newValue, (void*)expectedValue) == expectedValue; } @@ -353,7 +353,7 @@ template <typename T> Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T* newValue) { return reinterpret_cast<T *>( - QT_INTERLOCKED_EXCHANGE_POINTER(&_q_value, newValue)); + QT_INTERLOCKED_EXCHANGE_POINTER(&_q_value, (void*)newValue)); } template <typename T> |