Make loadAcquire const.

Change-Id: Iad2d60d1abe363a3b85eaf152861d0979a997d81
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Stephen Kelly 2012-02-28 15:46:01 +01:00 committed by Qt by Nokia
parent eb4828bbfd
commit 3f1a4be302
4 changed files with 8 additions and 8 deletions

View File

@ -84,7 +84,7 @@ template <typename T> struct QAtomicOps: QGenericAtomicOps<QAtomicOps<T> >
typedef T Type;
#ifndef __ia64__
static T loadAcquire(T &_q_value)
static T loadAcquire(const T &_q_value)
{
T tmp = _q_value;
__sync_synchronize();

View File

@ -143,9 +143,9 @@ template <int size> struct QBasicAtomicOps: QGenericAtomicOps<QBasicAtomicOps<si
static void orderedMemoryFence();
template <typename T> static inline
T loadAcquire(T &_q_value)
T loadAcquire(const T &_q_value)
{
return *static_cast<volatile T *>(&_q_value);
return *static_cast<const volatile T *>(&_q_value);
}
template <typename T> static inline

View File

@ -136,7 +136,7 @@ public:
// Atomic API, implemented in qatomic_XXX.h
T loadAcquire() { return Ops::loadAcquire(_q_value); }
T loadAcquire() const { return Ops::loadAcquire(_q_value); }
void storeRelease(T newValue) { Ops::storeRelease(_q_value, newValue); }
static bool isReferenceCountingNative() { return Ops::isReferenceCountingNative(); }
@ -206,7 +206,7 @@ public:
void store(Type newValue) { _q_value = newValue; }
// Atomic API, implemented in qatomic_XXX.h
Type loadAcquire() { return Ops::loadAcquire(_q_value); }
Type loadAcquire() const { return Ops::loadAcquire(_q_value); }
void storeRelease(Type newValue) { Ops::storeRelease(_q_value, newValue); }
static bool isTestAndSetNative() { return Ops::isTestAndSetNative(); }

View File

@ -85,7 +85,7 @@ template <typename BaseClass> struct QGenericAtomicOps
static void orderedMemoryFence() { }
template <typename T> static inline always_inline
T load(T &_q_value)
T load(const T &_q_value)
{
return _q_value;
}
@ -97,9 +97,9 @@ template <typename BaseClass> struct QGenericAtomicOps
}
template <typename T> static inline always_inline
T loadAcquire(T &_q_value)
T loadAcquire(const T &_q_value)
{
T tmp = *static_cast<volatile T *>(&_q_value);
T tmp = *static_cast<const volatile T *>(&_q_value);
BaseClass::acquireMemoryFence();
return tmp;
}