]>
Commit | Line | Data |
---|---|---|
18733c60 SS |
1 | 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 |
2 | --- qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic 2011-12-18 16:15:20.000000000 +0100 | |
3 | +++ qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h 2011-12-18 16:17:34.000000000 +0100 | |
4 | @@ -400,6 +400,16 @@ Q_INLINE_TEMPLATE T* QBasicAtomicPointer | |
5 | ||
6 | ||
7 | template <typename T> | |
8 | +Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd) | |
9 | +{ | |
10 | +#ifndef __s390x__ | |
11 | + return (T *)__CS_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "ar", "", "bcr 15,0\n"); | |
12 | +#else | |
13 | + return (T *)__CSG_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "agr", "", "bcr 15,0\n"); | |
14 | +#endif | |
15 | +} | |
16 | + | |
17 | +template <typename T> | |
18 | Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd) | |
19 | { | |
20 | return fetchAndAddOrdered(valueToAdd); |