summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Arve Saether <jan-arve.saether@nokia.com>2011-11-25 13:28:40 +0100
committerQt by Nokia <qt-info@nokia.com>2011-11-25 14:37:02 +0100
commitf4b6628083bf98ffa9169d8a8b890d84b6046867 (patch)
tree87c78b42dd9299473a45e348015803db4ee30edd
parentc1007112c867d979ffd969d74c6aab10d4bc9474 (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.h8
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>