From 739acd8b41135e06f9b3fe83413e99f8bc45d31b Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Tue, 11 Apr 2017 14:49:32 +0200 Subject: [PATCH] qt5: fix build errors with GCC 6 Fixes #2389 --- repos/libports/lib/mk/qt5_v8.mk | 2 ++ repos/libports/ports/qt5.hash | 2 +- .../src/lib/qt5/patches/qt5_gcc5.patch | 33 +++++++++++++++++++ repos/libports/src/lib/qt5/patches/series | 1 + 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 repos/libports/src/lib/qt5/patches/qt5_gcc5.patch diff --git a/repos/libports/lib/mk/qt5_v8.mk b/repos/libports/lib/mk/qt5_v8.mk index 38f9519868..31c79fa759 100644 --- a/repos/libports/lib/mk/qt5_v8.mk +++ b/repos/libports/lib/mk/qt5_v8.mk @@ -20,6 +20,8 @@ $(QT5_PORT_DIR)/src/lib/qt5/qtjsbackend/generated/generated.tag: include $(REP_DIR)/lib/mk/qt5_v8_generated.inc +CC_OPT += -fpermissive + CC_WARN = -Wno-unused-local-typedefs -Wno-maybe-uninitialized # diff --git a/repos/libports/ports/qt5.hash b/repos/libports/ports/qt5.hash index 2cface7d80..3e440029a3 100644 --- a/repos/libports/ports/qt5.hash +++ b/repos/libports/ports/qt5.hash @@ -1 +1 @@ -6932514d67f1ce1ff00421d7b4ee9a1de0b7d6bc +f430ea6c6057b67970e7e014e07b306904c6467c diff --git a/repos/libports/src/lib/qt5/patches/qt5_gcc5.patch b/repos/libports/src/lib/qt5/patches/qt5_gcc5.patch new file mode 100644 index 0000000000..1ed4f9ef0f --- /dev/null +++ b/repos/libports/src/lib/qt5/patches/qt5_gcc5.patch @@ -0,0 +1,33 @@ +From 650c6ee8e76bb574d3a1bea09e2494992d8f070e Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Fri, 6 Mar 2015 11:20:13 +0100 +Subject: [PATCH] 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 +--- + Source/JavaScriptCore/runtime/JSObject.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Source/JavaScriptCore/runtime/JSObject.cpp b/Source/JavaScriptCore/runtime/JSObject.cpp +index 5637e20..bd55919 100644 +--- a/qtwebkit/Source/JavaScriptCore/runtime/JSObject.cpp ++++ b/qtwebkit/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(ExecState* exec, unsigned i, JSValue value); ++template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes(ExecState* exec, unsigned i, JSValue value); ++template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes(ExecState* exec, unsigned i, JSValue value); ++ + void JSObject::putByIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, bool shouldThrow, ArrayStorage* storage) + { + VM& vm = exec->vm(); diff --git a/repos/libports/src/lib/qt5/patches/series b/repos/libports/src/lib/qt5/patches/series index b1cf571410..998ea2bcf6 100644 --- a/repos/libports/src/lib/qt5/patches/series +++ b/repos/libports/src/lib/qt5/patches/series @@ -17,3 +17,4 @@ qt5_openglwindow_example.patch qt5_qml.patch qt5_arm.patch qt5_tools.patch +qt5_gcc5.patch