summaryrefslogtreecommitdiffstats
path: root/src/corelib/arch/qatomic_x86_64.h
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2012-02-03 09:37:48 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-03 15:09:03 +0100
commit0797676329a08694efe02f5bd2023db864a75981 (patch)
tree56837fa0cea0edf07098df4fdf5df042e4198da3 /src/corelib/arch/qatomic_x86_64.h
parent67729d05d02b9c782e6d8e17255c571caf1a6a2b (diff)
Remove src/corelib/arch/i386/* and src/corelib/arch/x86_64/*
We do not want to support out-of-line QAtomic* implementations. Remove these from the i386 and x86_64 implementations. Change-Id: Ib6a9614b7b11bf6bccc9054b177357afd83e33e6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/arch/qatomic_x86_64.h')
-rw-r--r--src/corelib/arch/qatomic_x86_64.h61
1 files changed, 1 insertions, 60 deletions
diff --git a/src/corelib/arch/qatomic_x86_64.h b/src/corelib/arch/qatomic_x86_64.h
index 9045a642ea..f2fa8ce5f4 100644
--- a/src/corelib/arch/qatomic_x86_64.h
+++ b/src/corelib/arch/qatomic_x86_64.h
@@ -345,66 +345,7 @@ T QBasicAtomicOps<1>::fetchAndAddRelaxed(T &_q_value, typename QAtomicAdditiveTy
#define Q_ATOMIC_INT64_FETCH_AND_ADD_IS_WAIT_FREE
#else // !Q_CC_INTEL && !Q_CC_GNU
-
-extern "C" {
- Q_CORE_EXPORT int q_atomic_test_and_set_int(volatile int *ptr, int expected, int newval);
- Q_CORE_EXPORT int q_atomic_test_and_set_ptr(volatile void *ptr, void *expected, void *newval);
- Q_CORE_EXPORT int q_atomic_increment(volatile int *ptr);
- Q_CORE_EXPORT int q_atomic_decrement(volatile int *ptr);
- Q_CORE_EXPORT int q_atomic_set_int(volatile int *ptr, int newval);
- Q_CORE_EXPORT void *q_atomic_set_ptr(volatile void *ptr, void *newval);
- Q_CORE_EXPORT int q_atomic_fetch_and_add_int(volatile int *ptr, int value);
- Q_CORE_EXPORT void *q_atomic_fetch_and_add_ptr(volatile void *ptr, qptrdiff value);
-} // extern "C"
-
-template<> template<typename T> inline
-bool QBasicAtomicOps<4>::ref(T &_q_value)
-{
- return q_atomic_increment((int *)&_q_value) != 0;
-}
-
-template<> template <typename T> inline
-bool QBasicAtomicOps<4>::deref(T &_q_value)
-{
- return q_atomic_decrement((int *)&_q_value) != 0;
-}
-
-template<> template <typename T> inline
-bool QBasicAtomicOps<4>::testAndSetRelaxed(T &_q_value, T expectedValue, T newValue)
-{
- return q_atomic_test_and_set_int((int*)&_q_value, int(expectedValue), int(newValue));
-}
-
-template<> template <typename T> inline
-T QBasicAtomicOps<4>::fetchAndStoreRelaxed(T &_q_value, T newValue)
-{
- return T(q_atomic_set_int((int*)&_q_value, int(newValue));
-}
-
-template<> template <typename T> inline
-T QBasicAtomicOps<4>::fetchAndAddRelaxed(T &_q_value, typename QAtomicAdditiveType<T>::AdditiveT valueToAdd)
-{
- return T(q_atomic_fetch_and_add_int((int *)&_q_value, valueToAdd * QAtomicAdditiveType<T>::AddScale));
-}
-
-template<> template <typename T> inline
-bool QBasicAtomicOps<8>::testAndSetRelaxed(T &_q_value, T expectedValue, T newValue)
-{
- return q_atomic_test_and_set_ptr(&_q_value, (void*)expectedValue, (void*)newValue);
-}
-
-template<> template <typename T> inline
-T QBasicAtomicOps<8>::fetchAndStoreRelaxed(T &_q_value, T newValue)
-{
- return T(q_atomic_set_ptr(&_q_value, (void*)newValue);
-}
-
-template<> template <typename T> inline
-T QBasicAtomicOps<8>::fetchAndAddRelaxed(T &_q_value, typename QAtomicAdditiveType<T>::AdditiveT valueToAdd)
-{
- return T(q_atomic_fetch_and_add_int(&_q_value, valueToAdd * QAtomicAdditiveType<T>::AddScale));
-}
-
+# error "This compiler for x86_64 is not supported"
#endif // Q_CC_GNU || Q_CC_INTEL
QT_END_NAMESPACE