add missing method for QBasicAtomicPointer on s390(x)
authorDan Horák <dan[at]dannu.cz>
Mon, 24 Jan 2022 10:55:59 +0000 (10:55 +0000)
committerUtkarsh Gupta <utkarsh@debian.org>
Mon, 24 Jan 2022 10:55:59 +0000 (10:55 +0000)
Gbp-Pq: Name add_missing_method_for_QBasicAtomicPointer_on_s390.patch

src/corelib/arch/qatomic_s390.h

index a72e73ab8a4ef5cccfdda492473a3f362fc81ef1..093b693898d71ba6e1707fb71eb9fceb25caa485 100644 (file)
@@ -399,6 +399,16 @@ Q_INLINE_TEMPLATE T* QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue)
 }
 
 
+template <typename T>
+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
+{
+#ifndef __s390x__
+    return (T *)__CS_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "ar", "", "bcr 15,0\n");
+#else
+    return (T *)__CSG_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "agr", "", "bcr 15,0\n");
+#endif
+}
+
 template <typename T>
 Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
 {