summaryrefslogtreecommitdiffstats
path: root/src/corelib/arch/qatomic_ia64.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2010-01-16 10:40:09 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2010-01-16 10:40:09 (GMT)
commitd59eaf1c550d45ff1009ccceaea6298b9e3d8e2b (patch)
tree6b7f9b4750e2e5cc75fa6542cef85a9473a2980b /src/corelib/arch/qatomic_ia64.h
parent71d94529a3cf894fa11954463dc8658aed2a04fc (diff)
downloadQt-d59eaf1c550d45ff1009ccceaea6298b9e3d8e2b.zip
Qt-d59eaf1c550d45ff1009ccceaea6298b9e3d8e2b.tar.gz
Qt-d59eaf1c550d45ff1009ccceaea6298b9e3d8e2b.tar.bz2
Fix compilation on IA-64 with the Intel compiler: cast properly.
Error was: ../../include/QtCore/../../src/corelib/arch/qatomic_ia64.h(208): error: argument of type "QMutexPool *volatile *" is incompatible with parameter of type "void *volatile *" return (T *)_InterlockedExchangePointer(&_q_value, newValue); ^ detected during instantiation of "T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *) [with T=QMutexPool]" Patch by Intel Yolanda Chen (relayed by reporter Richard Fleck). Task-number: QTBUG-7356
Diffstat (limited to 'src/corelib/arch/qatomic_ia64.h')
-rw-r--r--src/corelib/arch/qatomic_ia64.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/arch/qatomic_ia64.h b/src/corelib/arch/qatomic_ia64.h
index e015863..8c824f3 100644
--- a/src/corelib/arch/qatomic_ia64.h
+++ b/src/corelib/arch/qatomic_ia64.h
@@ -205,7 +205,7 @@ inline bool QBasicAtomicInt::deref()
template <typename T>
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
{
- return (T *)_InterlockedExchangePointer(&_q_value, newValue);
+ return (T *)_InterlockedExchangePointer(reinterpret_cast<void * volatile*>(&_q_value), newValue);
}
template <typename T>