summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/arch/qatomic_gcc.h2
-rw-r--r--src/corelib/arch/qatomic_ia64.h4
-rw-r--r--src/corelib/thread/qbasicatomic.h4
-rw-r--r--src/corelib/thread/qgenericatomic.h6
4 files changed, 8 insertions, 8 deletions
diff --git a/src/corelib/arch/qatomic_gcc.h b/src/corelib/arch/qatomic_gcc.h
index 225a7809eb..9edb74fa73 100644
--- a/src/corelib/arch/qatomic_gcc.h
+++ b/src/corelib/arch/qatomic_gcc.h
@@ -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();
diff --git a/src/corelib/arch/qatomic_ia64.h b/src/corelib/arch/qatomic_ia64.h
index d82ad12223..5108751f2a 100644
--- a/src/corelib/arch/qatomic_ia64.h
+++ b/src/corelib/arch/qatomic_ia64.h
@@ -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
diff --git a/src/corelib/thread/qbasicatomic.h b/src/corelib/thread/qbasicatomic.h
index 96338c62dc..01a69dbd8b 100644
--- a/src/corelib/thread/qbasicatomic.h
+++ b/src/corelib/thread/qbasicatomic.h
@@ -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(); }
diff --git a/src/corelib/thread/qgenericatomic.h b/src/corelib/thread/qgenericatomic.h
index f4d5e2f8d9..34c040c39b 100644
--- a/src/corelib/thread/qgenericatomic.h
+++ b/src/corelib/thread/qgenericatomic.h
@@ -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;
}