dev-qt/qtwebkit: Fix build with GCC-5, bug 570042
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>
Wed, 20 Jan 2016 00:20:42 +0000 (01:20 +0100)
committerMichael Palimaka <kensington@gentoo.org>
Wed, 20 Jan 2016 07:12:11 +0000 (18:12 +1100)
Patch taken from upstream, see also:
https://bugreports.qt.io/browse/QTBUG-44829
https://codereview.qt-project.org/#/c/107921/

Package-Manager: portage-2.2.27

dev-qt/qtwebkit/files/qtwebkit-4.10.4-fix-gcc-5.patch [new file with mode: 0644]
dev-qt/qtwebkit/qtwebkit-4.10.4.ebuild

diff --git a/dev-qt/qtwebkit/files/qtwebkit-4.10.4-fix-gcc-5.patch b/dev-qt/qtwebkit/files/qtwebkit-4.10.4-fix-gcc-5.patch
new file mode 100644 (file)
index 0000000..3a6b2a3
--- /dev/null
@@ -0,0 +1,35 @@
+From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
+Date: Fri, 6 Mar 2015 10:20:13 +0000 (+0100)
+Subject: Fix g++ 5.0 build
+X-Git-Tag: v5.4.2~12
+X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtwebkit.git;a=commitdiff_plain;h=650c6ee8e76bb574d3a1bea09e2494992d8f070e;hp=f9966f351678351ee6b971d7b6b25a4987407e46
+
+Fix g++ 5.0 build
+
+A non-inline template needs to be explicitly instantiated if used
+outside the object where it is declared.
+
+Patch suggested by Khem Raj.
+
+Task-number: QTBUG-44829
+Change-Id: Ib0adbd9273bd1cef01e5863bc8aaa9c373022792
+Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
+---
+
+diff --git a/Source/JavaScriptCore/runtime/JSObject.cpp b/Source/JavaScriptCore/runtime/JSObject.cpp
+index 5637e20..bd55919 100644
+--- a/Source/JavaScriptCore/runtime/JSObject.cpp
++++ b/Source/JavaScriptCore/runtime/JSObject.cpp
+@@ -1909,6 +1909,11 @@ void JSObject::putByIndexBeyondVectorLengthWithoutAttributes(ExecState* exec, un
+     }
+ }
+ 
++// Used in JSArray.cpp so we must instantiate explicit
++template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<Int32Shape>(ExecState* exec, unsigned i, JSValue value);
++template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<DoubleShape>(ExecState* exec, unsigned i, JSValue value);
++template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<ContiguousShape>(ExecState* exec, unsigned i, JSValue value);
++
+ void JSObject::putByIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, bool shouldThrow, ArrayStorage* storage)
+ {
+     VM& vm = exec->vm();
+
index ab983ae44b464bfd465ddc427bd46c5c4f2821a1..be52f6d8374737ead8e6932bcb67113fd4d660e3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -58,6 +58,7 @@ S=${WORKDIR}
 
 PATCHES=(
        "${FILESDIR}/${PV}-use-correct-icu-typedef.patch"
+       "${FILESDIR}/${P}-fix-gcc-5.patch"
 )
 
 src_prepare() {