Blame SOURCES/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
|
|
2060a3 |
diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h
|
|
|
2060a3 |
--- qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic 2011-12-18 16:15:20.000000000 +0100
|
|
|
2060a3 |
+++ qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h 2011-12-18 16:17:34.000000000 +0100
|
|
|
2060a3 |
@@ -400,6 +400,16 @@ Q_INLINE_TEMPLATE T* QBasicAtomicPointer
|
|
|
2060a3 |
|
|
|
2060a3 |
|
|
|
2060a3 |
template <typename T>
|
|
|
2060a3 |
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
|
|
|
2060a3 |
+{
|
|
|
2060a3 |
+#ifndef __s390x__
|
|
|
2060a3 |
+ return (T *)__CS_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "ar", "", "bcr 15,0\n");
|
|
|
2060a3 |
+#else
|
|
|
2060a3 |
+ return (T *)__CSG_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "agr", "", "bcr 15,0\n");
|
|
|
2060a3 |
+#endif
|
|
|
2060a3 |
+}
|
|
|
2060a3 |
+
|
|
|
2060a3 |
+template <typename T>
|
|
|
2060a3 |
Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
|
|
|
2060a3 |
{
|
|
|
2060a3 |
return fetchAndAddOrdered(valueToAdd);
|