summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorKai Kang <kai.kang@windriver.com>2015-06-02 09:52:57 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-08 17:30:50 +0100
commit4d033fdc5e754e22edb2e9074e30e58847c4b791 (patch)
tree85189088f467605738c715ae5b2dcdc78c729354 /meta
parent3b1d89a51445cf526ca84eb5b53de434f9585d6e (diff)
downloadopenembedded-core-4d033fdc5e754e22edb2e9074e30e58847c4b791.tar.gz
openembedded-core-4d033fdc5e754e22edb2e9074e30e58847c4b791.tar.bz2
openembedded-core-4d033fdc5e754e22edb2e9074e30e58847c4b791.zip
qt4: upgrade to 4.8.7
Upgrade qt4 packages from version 4.8.6 to 4.8.7. * remove arm64 related patches which are merged * remove 0034-Fix-a-division-by-zero-when-processing-malformed-BMP.patch which is backported. * update 0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch and 0013-configure-add-crossarch-option.patch for new version * remove useless variable INC_PR Signed-off-by: Kai Kang <kai.kang@windriver.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-qt/qt4/nativesdk-qt4-tools.inc2
-rw-r--r--meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.6.bb6
-rw-r--r--meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.7.bb6
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.6/0029-aarch64_arm64_fix_arch_detection.patch53
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.6/0030-aarch64_arm64_qatomic_support.patch491
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.6/0031-aarch64_arm64_mkspecs.patch124
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.6/0032-aarch64_add_header.patch18
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.6/0034-Fix-a-division-by-zero-when-processing-malformed-BMP.patch44
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7.inc (renamed from meta/recipes-qt/qt4/qt4-4.8.6.inc)9
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0004-configure-qmake-is-already-built-in-qt4-tools-native.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0004-configure-qmake-is-already-built-in-qt4-tools-native.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0005-configure-set-LFLAGS-to-pick-up-zlib-from-staging.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0005-configure-set-LFLAGS-to-pick-up-zlib-from-staging.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0006-configure-Use-OE_QMAKE_-values-to-specify-Qt-utility.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0006-configure-Use-OE_QMAKE_-values-to-specify-Qt-utility.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0009-qmake-fix-source-file-references-in-qmake.pri.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0009-qmake-fix-source-file-references-in-qmake.pri.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch)20
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0011-freetype-host-includes.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0011-freetype-host-includes.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0012-Add-2bpp-support.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0012-Add-2bpp-support.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0013-configure-add-crossarch-option.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0013-configure-add-crossarch-option.patch)22
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0014-translations-fix-phony-translation-linking-error.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0014-translations-fix-phony-translation-linking-error.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0015-configure-add-nostrip-for-debug-packages.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0015-configure-add-nostrip-for-debug-packages.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0016-configure-eval-QMAKE_CXX.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0016-configure-eval-QMAKE_CXX.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0017-configure-ensure-we-identify-the-compiler-as-g-in-co.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0017-configure-ensure-we-identify-the-compiler-as-g-in-co.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0018-configure-make-pulseaudio-a-configurable-option.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0018-configure-make-pulseaudio-a-configurable-option.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0019-Fixes-for-gcc-4.7.0-particularly-on-qemux86.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0019-Fixes-for-gcc-4.7.0-particularly-on-qemux86.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0021-configure-make-qt4-native-work-with-long-building-pa.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0021-configure-make-qt4-native-work-with-long-building-pa.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0027-tools.pro-disable-qmeegographicssystemhelper.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0027-tools.pro-disable-qmeegographicssystemhelper.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0028-Don-t-crash-on-broken-GIF-images.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0028-Don-t-crash-on-broken-GIF-images.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/0033-configure-support-c-0x-standard-for-directfd.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/0033-configure-support-c-0x-standard-for-directfd.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/Fix-QWSLock-invalid-argument-logs.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/Fix-QWSLock-invalid-argument-logs.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/add_check_for_aarch64_32.patch (renamed from meta/recipes-qt/qt4/qt4-4.8.6/add_check_for_aarch64_32.patch)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/g++.conf (renamed from meta/recipes-qt/qt4/qt4-4.8.6/g++.conf)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/linux.conf (renamed from meta/recipes-qt/qt4/qt4-4.8.6/linux.conf)0
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.7/qte.sh (renamed from meta/recipes-qt/qt4/qt4-4.8.6/qte.sh)0
-rw-r--r--meta/recipes-qt/qt4/qt4-embedded.inc1
-rw-r--r--meta/recipes-qt/qt4/qt4-embedded_4.8.7.bb (renamed from meta/recipes-qt/qt4/qt4-embedded_4.8.6.bb)0
-rw-r--r--meta/recipes-qt/qt4/qt4-native.inc6
-rw-r--r--meta/recipes-qt/qt4/qt4-native_4.8.6.bb6
-rw-r--r--meta/recipes-qt/qt4/qt4-native_4.8.7.bb6
-rw-r--r--meta/recipes-qt/qt4/qt4-x11-free.inc2
-rw-r--r--meta/recipes-qt/qt4/qt4-x11-free_4.8.7.bb (renamed from meta/recipes-qt/qt4/qt4-x11-free_4.8.6.bb)0
44 files changed, 39 insertions, 777 deletions
diff --git a/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc
index 1c9ee2e6ea..aa84e3dcfd 100644
--- a/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc
+++ b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc
@@ -4,8 +4,6 @@ SECTION = "libs"
HOMEPAGE = "http://qt-project.org/"
LICENSE = "LGPLv2.1 | GPLv3"
-INC_PR = "r13"
-
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt4-${PV}:"
inherit nativesdk qmake2
diff --git a/meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.6.bb b/meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.6.bb
deleted file mode 100644
index 00526b891d..0000000000
--- a/meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.6.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nativesdk-qt4-tools.inc
-
-SRC_URI += "file://0009-qmake-fix-source-file-references-in-qmake.pri.patch"
-
-SRC_URI[md5sum] = "2edbe4d6c2eff33ef91732602f3518eb"
-SRC_URI[sha256sum] = "8b14dd91b52862e09b8e6a963507b74bc2580787d171feda197badfa7034032c"
diff --git a/meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.7.bb b/meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.7.bb
new file mode 100644
index 0000000000..90ba07c9e1
--- /dev/null
+++ b/meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.7.bb
@@ -0,0 +1,6 @@
+require nativesdk-qt4-tools.inc
+
+SRC_URI += "file://0009-qmake-fix-source-file-references-in-qmake.pri.patch"
+
+SRC_URI[md5sum] = "d990ee66bf7ab0c785589776f35ba6ad"
+SRC_URI[sha256sum] = "e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0"
diff --git a/meta/recipes-qt/qt4/qt4-4.8.6/0029-aarch64_arm64_fix_arch_detection.patch b/meta/recipes-qt/qt4/qt4-4.8.6/0029-aarch64_arm64_fix_arch_detection.patch
deleted file mode 100644
index fbd32b173d..0000000000
--- a/meta/recipes-qt/qt4/qt4-4.8.6/0029-aarch64_arm64_fix_arch_detection.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 800abbba658203fc8e746e3fc780a297cd4110cf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Lisandro=20Dami=C3=A1n=20Nicanor=20P=C3=A9rez=20Meyer?=
- <perezmeyer@gmail.com>
-Date: Wed, 20 Aug 2014 17:52:49 -0300
-Subject: [PATCH] Fix AArch64/arm64 detection.
-
-The detection needs to go before arm, else the system will detect AArch64/arm64
-as arm.
-
-This patch comes from Wookey, he has agreed to put it under BSD or Expat
-to allow it's inclusion in here:
-<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735488#255>
-
-Change-Id: Ic2171c03fca8bb871347940fa3a2bc467776f797
-
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- configure | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/configure b/configure
-index a9ba7c8..eb88b72 100755
---- a/configure
-+++ b/configure
-@@ -3241,17 +3241,17 @@ if [ -z "${CFG_HOST_ARCH}" ]; then
- fi
- CFG_HOST_ARCH=s390
- ;;
-- *:*:arm*)
-+ *:*:aarch64*|*:*:arm64*)
- if [ "$OPT_VERBOSE" = "yes" ]; then
-- echo " ARM (arm)"
-+ echo " AArch64 (aarch64)"
- fi
-- CFG_HOST_ARCH=arm
-+ CFG_HOST_ARCH=aarch64
- ;;
-- *:*:aarch64*)
-+ *:*:arm*)
- if [ "$OPT_VERBOSE" = "yes" ]; then
-- echo " AArch64 (aarch64)"
-+ echo " ARM (arm)"
- fi
-- CFG_HOST_ARCH=aarch64
-+ CFG_HOST_ARCH=arm
- ;;
- Linux:*:sparc*)
- if [ "$OPT_VERBOSE" = "yes" ]; then
---
-2.1.0
diff --git a/meta/recipes-qt/qt4/qt4-4.8.6/0030-aarch64_arm64_qatomic_support.patch b/meta/recipes-qt/qt4/qt4-4.8.6/0030-aarch64_arm64_qatomic_support.patch
deleted file mode 100644
index ba4c2a6b4f..0000000000
--- a/meta/recipes-qt/qt4/qt4-4.8.6/0030-aarch64_arm64_qatomic_support.patch
+++ /dev/null
@@ -1,491 +0,0 @@
-From 294010b562c9846bb2bc4ee9c63ff78adc7c1f4f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Lisandro=20Dami=C3=A1n=20Nicanor=20P=C3=A9rez=20Meyer?=
- <perezmeyer@gmail.com>
-Date: Sat, 15 Mar 2014 15:40:49 -0300
-Subject: [PATCH] Add qatomic support for AArch64 (aka arm64).
-
-Patch by Mark Salter <msalter@redhat.com>
-licensed under BSD:
-
-<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735488#195>
-
-This patch is known to not be the most correct way
-to implement them, as it seems to be possible to do it in a faster way,
-but should work non the less until we can provide something better.
-
-Change-Id: Ib392b27dc54691fd4c2ea9896240ad71fb8128cc
-
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
----
- src/corelib/arch/aarch64/arch.pri | 4 +
- src/corelib/arch/aarch64/qatomic_aarch64.cpp | 70 ++++++
- src/corelib/arch/arch.pri | 4 +-
- src/corelib/arch/qatomic_aarch64.h | 335 +++++++++++++++++++++++++++
- src/corelib/arch/qatomic_arch.h | 2 +
- 5 files changed, 414 insertions(+), 1 deletion(-)
- create mode 100644 src/corelib/arch/aarch64/arch.pri
- create mode 100644 src/corelib/arch/aarch64/qatomic_aarch64.cpp
- create mode 100644 src/corelib/arch/qatomic_aarch64.h
-
-diff --git a/src/corelib/arch/aarch64/arch.pri b/src/corelib/arch/aarch64/arch.pri
-new file mode 100644
-index 0000000..63523d9
---- /dev/null
-+++ b/src/corelib/arch/aarch64/arch.pri
-@@ -0,0 +1,4 @@
-+#
-+# AArch64 architecture
-+#
-+SOURCES += $$QT_ARCH_CPP/qatomic_aarch64.cpp
-diff --git a/src/corelib/arch/aarch64/qatomic_aarch64.cpp b/src/corelib/arch/aarch64/qatomic_aarch64.cpp
-new file mode 100644
-index 0000000..fc851b9
---- /dev/null
-+++ b/src/corelib/arch/aarch64/qatomic_aarch64.cpp
-@@ -0,0 +1,70 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012, 2013 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the QtCore module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <QtCore/qglobal.h>
-+
-+#include <unistd.h>
-+#ifdef _POSIX_PRIORITY_SCHEDULING
-+# include <sched.h>
-+#endif
-+#include <time.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QT_USE_NAMESPACE
-+
-+Q_CORE_EXPORT void qt_atomic_yield(int *count)
-+{
-+#ifdef _POSIX_PRIORITY_SCHEDULING
-+ if ((*count)++ < 50) {
-+ sched_yield();
-+ } else
-+#endif
-+ {
-+ struct timespec tm;
-+ tm.tv_sec = 0;
-+ tm.tv_nsec = 2000001;
-+ nanosleep(&tm, NULL);
-+ *count = 0;
-+ }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/corelib/arch/arch.pri b/src/corelib/arch/arch.pri
-index cd23e5e..f50fca7 100644
---- a/src/corelib/arch/arch.pri
-+++ b/src/corelib/arch/arch.pri
-@@ -31,7 +31,9 @@ integrity:HEADERS += arch/qatomic_integrity.h
- arch/qatomic_s390.h \
- arch/qatomic_x86_64.h \
- arch/qatomic_sh.h \
-- arch/qatomic_sh4a.h
-+ arch/qatomic_sh4a.h \
-+ arch/qatomic_aarch64.h \
-+
-
- QT_ARCH_CPP = $$QT_SOURCE_TREE/src/corelib/arch/$$QT_ARCH
- DEPENDPATH += $$QT_ARCH_CPP
-diff --git a/src/corelib/arch/qatomic_aarch64.h b/src/corelib/arch/qatomic_aarch64.h
-new file mode 100644
-index 0000000..de61ca8
---- /dev/null
-+++ b/src/corelib/arch/qatomic_aarch64.h
-@@ -0,0 +1,335 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the QtCore module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QATOMIC_AARCH64_H
-+#define QATOMIC_AARCH64_H
-+
-+QT_BEGIN_HEADER
-+
-+QT_BEGIN_NAMESPACE
-+
-+#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isReferenceCountingNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isReferenceCountingWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isTestAndSetNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isTestAndSetWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isFetchAndStoreNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isFetchAndStoreWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE
-+
-+inline bool QBasicAtomicInt::isFetchAndAddNative()
-+{ return true; }
-+inline bool QBasicAtomicInt::isFetchAndAddWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_ALWAYS_NATIVE
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetNative()
-+{ return true; }
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isTestAndSetWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_ALWAYS_NATIVE
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreNative()
-+{ return true; }
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndStoreWaitFree()
-+{ return false; }
-+
-+#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_ALWAYS_NATIVE
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddNative()
-+{ return true; }
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree()
-+{ return false; }
-+
-+#ifndef Q_DATA_MEMORY_BARRIER
-+# define Q_DATA_MEMORY_BARRIER asm volatile("dmb sy\n":::"memory")
-+#endif
-+#ifndef Q_COMPILER_MEMORY_BARRIER
-+# define Q_COMPILER_MEMORY_BARRIER asm volatile("":::"memory")
-+#endif
-+
-+inline bool QBasicAtomicInt::ref()
-+{
-+ int newValue;
-+
-+ Q_COMPILER_MEMORY_BARRIER;
-+ newValue = __atomic_add_fetch(&_q_value, 1, __ATOMIC_ACQ_REL);
-+ Q_COMPILER_MEMORY_BARRIER;
-+
-+ return newValue != 0;
-+}
-+
-+inline bool QBasicAtomicInt::deref()
-+{
-+ int newValue;
-+
-+ Q_COMPILER_MEMORY_BARRIER;
-+ newValue = __atomic_sub_fetch(&_q_value, 1, __ATOMIC_ACQ_REL);
-+ Q_COMPILER_MEMORY_BARRIER;
-+
-+ return newValue != 0;
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
-+{
-+ bool val;
-+
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
-+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue)
-+{
-+ int val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd)
-+{
-+ int val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValue, T *newValue)
-+{
-+ bool val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
-+ false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
-+{
-+ T *val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_exchange_n(&_q_value, newValue, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
-+{
-+ T *val;
-+ Q_COMPILER_MEMORY_BARRIER;
-+ val = __atomic_fetch_add(&_q_value, valueToAdd, __ATOMIC_RELAXED);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return val;
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue)
-+{
-+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return testAndSetRelaxed(expectedValue, newValue);
-+}
-+
-+inline bool QBasicAtomicInt::testAndSetOrdered(int expectedValue, int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue)
-+{
-+ int returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndStoreRelaxed(newValue);
-+}
-+
-+inline int QBasicAtomicInt::fetchAndStoreOrdered(int newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ int returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd)
-+{
-+ int returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndAddRelaxed(valueToAdd);
-+}
-+
-+inline int QBasicAtomicInt::fetchAndAddOrdered(int valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ int returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValue, T *newValue)
-+{
-+ bool returnValue = testAndSetRelaxed(expectedValue, newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValue, T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return testAndSetRelaxed(expectedValue, newValue);
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetOrdered(T *expectedValue, T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ bool returnValue = testAndSetAcquire(expectedValue, newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
-+{
-+ T *returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndStoreRelaxed(newValue);
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreOrdered(T *newValue)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ T *returnValue = fetchAndStoreRelaxed(newValue);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd)
-+{
-+ T *returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_DATA_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ return fetchAndAddRelaxed(valueToAdd);
-+}
-+
-+template <typename T>
-+Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
-+{
-+ Q_DATA_MEMORY_BARRIER;
-+ T *returnValue = fetchAndAddRelaxed(valueToAdd);
-+ Q_COMPILER_MEMORY_BARRIER;
-+ return returnValue;
-+}
-+
-+#undef Q_DATA_MEMORY_BARRIER
-+#undef Q_COMPILER_MEMORY_BARRIER<