summaryrefslogtreecommitdiff
blob: 3a6b2a39c0e8e45bcbebd15e3e831aa482991cdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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();