[jhbuild] core-deps-latest: Fix WebKit build on clang 6
- From: Ting-Wei Lan <lantw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [jhbuild] core-deps-latest: Fix WebKit build on clang 6
- Date: Sat, 23 Jun 2018 15:07:05 +0000 (UTC)
commit cd336a350ed75d83bd067b4a8a205aac0537a009
Author: Ting-Wei Lan <lantw src gnome org>
Date: Sat Jun 23 23:05:02 2018 +0800
core-deps-latest: Fix WebKit build on clang 6
modulesets/gnome-suites-core-deps-latest.modules | 1 +
patches/WebKit-JavaScriptCore-clang-6-fix.patch | 62 ++++++++++++++++++++++++
2 files changed, 63 insertions(+)
---
diff --git a/modulesets/gnome-suites-core-deps-latest.modules
b/modulesets/gnome-suites-core-deps-latest.modules
index 9c2532be..0db62ae1 100644
--- a/modulesets/gnome-suites-core-deps-latest.modules
+++ b/modulesets/gnome-suites-core-deps-latest.modules
@@ -1969,6 +1969,7 @@ the module and we will just change it to use a tarball anyway.
module="webkitgtk-2.21.4.tar.xz" version="2.21.4"
hash="sha256:59f4359ace702ecaa92b975666c1bcde3858258909b047e7675ce3807efdd1e7"
size="16873972">
+ <patch file="WebKit-JavaScriptCore-clang-6-fix.patch" strip="1"/>
</branch>
<dependencies>
<dep package="c++"/>
diff --git a/patches/WebKit-JavaScriptCore-clang-6-fix.patch b/patches/WebKit-JavaScriptCore-clang-6-fix.patch
new file mode 100644
index 00000000..11698d5e
--- /dev/null
+++ b/patches/WebKit-JavaScriptCore-clang-6-fix.patch
@@ -0,0 +1,62 @@
+From 798c5c2ba53396ed9a885e74228e534a9cf963c8 Mon Sep 17 00:00:00 2001
+From: "mark lam apple com"
+ <mark lam apple com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
+Date: Fri, 22 Jun 2018 03:01:52 +0000
+Subject: [PATCH] =?UTF-8?q?WebKit=20(JavaScriptCore)=20compilation=20error?=
+ =?UTF-8?q?=20with=20Clang=20=E2=89=A5=206.=20https://bugs.webkit.org/show?=
+ =?UTF-8?q?=5Fbug.cgi=3Fid=3D185947=20<rdar://problem/40131933>?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Reviewed by Saam Barati.
+
+Newer Clang versions (due to C++17 support) is not happy with how I implemented
+conversions between CodeLocation types. We'll fix this by adding a conversion
+operator for converting between CodeLocation types.
+
+* assembler/CodeLocation.h:
+(JSC::CodeLocationCommon::operator T):
+
+
+git-svn-id: http://svn.webkit.org/repository/webkit/trunk@233070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+---
+ Source/JavaScriptCore/ChangeLog | 15 +++++++++++++++
+ Source/JavaScriptCore/assembler/CodeLocation.h | 6 ++++++
+ 2 files changed, 21 insertions(+)
+
+2018-06-21 Mark Lam <mark lam apple com>
+
+ WebKit (JavaScriptCore) compilation error with Clang ≥ 6.
+ https://bugs.webkit.org/show_bug.cgi?id=185947
+ <rdar://problem/40131933>
+
+ Reviewed by Saam Barati.
+
+ Newer Clang versions (due to C++17 support) is not happy with how I implemented
+ conversions between CodeLocation types. We'll fix this by adding a conversion
+ operator for converting between CodeLocation types.
+
+ * assembler/CodeLocation.h:
+ (JSC::CodeLocationCommon::operator T):
+
+diff --git a/Source/JavaScriptCore/assembler/CodeLocation.h b/Source/JavaScriptCore/assembler/CodeLocation.h
+index 75446df3dc2..41d251e73f0 100644
+--- a/Source/JavaScriptCore/assembler/CodeLocation.h
++++ b/Source/JavaScriptCore/assembler/CodeLocation.h
+@@ -71,6 +71,12 @@ public:
+ template<typename T = void*>
+ T dataLocation() const { return Base::template dataLocation<T>(); }
+
++ template<typename T, typename = std::enable_if_t<std::is_base_of<CodeLocationCommon<tag>, T>::value>>
++ operator T()
++ {
++ return T(MacroAssemblerCodePtr<tag>::createFromExecutableAddress(this->executableAddress()));
++ }
++
+ protected:
+ CodeLocationCommon()
+ {
+--
+2.18.0
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]