add_missing_method_for_QBasicAtomicPointer_on_s390
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Sun, 14 Jul 2019 10:19:27 +0000 (11:19 +0100)
committerFelix Geyer <fgeyer@debian.org>
Sun, 14 Jul 2019 10:19:27 +0000 (11:19 +0100)
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)
 {