+++ /dev/null
-From 257ed304fb3e71d412568dcbed7129c145812fdf Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Sep 2024 21:38:12 -0700
-Subject: [PATCH] Fix build issues with latest Clang
- https://bugs.webkit.org/show_bug.cgi?id=276198 rdar://130933637
-
-Reviewed by Yusuke Suzuki.
-
-The use of the template keyword to reference template members without a template argument list was deprecated in the C++ standard.
-e.g. `foo.template bar()` nows needs to be `foo.template bar<>()`. I ran into a different issue with `std::reference_wrapper` that
-blocked me from going any further, which AFAICT is a bug on the Clang side.
-
-This also fixes a few other warnings that popped up while building with the new Clang denoted inline
-
-* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
-(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): Clang didn't like the implicit static_cast<int32_t>(UINT32_MAX) so make it explicit with a static_assert no data was lost.
-* Source/JavaScriptCore/jit/AssemblyHelpers.cpp:
-(JSC::AssemblyHelpers::emitNonNullDecodeZeroExtendedStructureID): Clang didn't like the implicit static_cast<int32_t>(UINT32_MAX) so make it explicit with a static_assert no data was lost.
-* Source/JavaScriptCore/llint/InPlaceInterpreter.cpp:
-* Source/JavaScriptCore/llint/LLIntData.h:
-(JSC::LLInt::getCodeFunctionPtr):
-(JSC::LLInt::getWide16CodeFunctionPtr):
-(JSC::LLInt::getWide32CodeFunctionPtr):
-* Source/JavaScriptCore/parser/Nodes.h: Missing definition of ModuleScopeData added include.
-* Source/JavaScriptCore/runtime/JSCast.h:
-(JSC::JSCastingHelpers::inherits):
-(JSC::jsDynamicCast):
-* Source/ThirdParty/libwebrtc/Source/third_party/boringssl/src/crypto/bio/connect.c:
-(conn_callback_ctrl): Had a warning about an incompatible function type. Seems like this is intentional suppressed the warning.
-* Source/WTF/wtf/cf/TypeCastsCF.h: Had a warning about extra namespace qualification. I just moved it out of the namespace. That said, it feels like this warning shouldn't apply to macro expansions...
-* Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/src/decode.c:
-(decode_b): Had a warning about different types on the middle/right of a ternary expression. I just pushed the comparison inside the ternary.
-
-Canonical link: https://commits.webkit.org/280700@main
-
-Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/62b6e2db547e#diff-136d848d7c1b400da9b486916b67592b54e5abf7c66ac247697a93ae2fb743a9]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp | 6 ++++--
- Source/JavaScriptCore/jit/AssemblyHelpers.cpp | 6 ++++--
- .../JavaScriptCore/llint/InPlaceInterpreter.cpp | 16 ++++++++--------
- Source/JavaScriptCore/llint/LLIntData.h | 12 ++++++------
- Source/JavaScriptCore/llint/LLIntThunks.cpp | 2 +-
- Source/JavaScriptCore/parser/Nodes.h | 4 ++--
- Source/JavaScriptCore/runtime/JSCast.h | 4 ++--
- 7 files changed, 27 insertions(+), 23 deletions(-)
-
-diff --git a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
-index 42a4eae7..dd987726 100644
---- a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
-+++ b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
-@@ -22930,8 +22930,10 @@ IGNORE_CLANG_WARNINGS_END
- return m_out.shl(m_out.zeroExtPtr(structureID), m_out.constIntPtr(StructureID::encodeShiftAmount));
- #else
- LValue maskedStructureID = structureID;
-- if constexpr (structureHeapAddressSize < 4 * GB)
-- maskedStructureID = m_out.bitAnd(structureID, m_out.constInt32(StructureID::structureIDMask));
-+ if constexpr (structureHeapAddressSize < 4 * GB) {
-+ static_assert(static_cast<uint32_t>(StructureID::structureIDMask) == StructureID::structureIDMask);
-+ maskedStructureID = m_out.bitAnd(structureID, m_out.constInt32(static_cast<uint32_t>(StructureID::structureIDMask)));
-+ }
- return m_out.bitOr(m_out.constIntPtr(startOfStructureHeap()), m_out.zeroExtPtr(maskedStructureID));
- #endif
- }
-diff --git a/Source/JavaScriptCore/jit/AssemblyHelpers.cpp b/Source/JavaScriptCore/jit/AssemblyHelpers.cpp
-index c939d27a..982dc46f 100644
---- a/Source/JavaScriptCore/jit/AssemblyHelpers.cpp
-+++ b/Source/JavaScriptCore/jit/AssemblyHelpers.cpp
-@@ -677,8 +677,10 @@ void AssemblyHelpers::emitNonNullDecodeZeroExtendedStructureID(RegisterID source
- if constexpr (structureHeapAddressSize >= 4 * GB) {
- ASSERT(structureHeapAddressSize == 4 * GB);
- move(source, dest);
-- } else
-- and32(TrustedImm32(StructureID::structureIDMask), source, dest);
-+ } else {
-+ static_assert(static_cast<uint32_t>(StructureID::structureIDMask) == StructureID::structureIDMask);
-+ and32(TrustedImm32(static_cast<uint32_t>(StructureID::structureIDMask)), source, dest);
-+ }
- or64(TrustedImm64(startOfStructureHeap()), dest);
- #else // not CPU(ADDRESS64)
- move(source, dest);
-diff --git a/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp b/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp
-index b9442b4f..a1d5a6c4 100644
---- a/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp
-+++ b/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp
-@@ -43,8 +43,8 @@ namespace JSC { namespace IPInt {
- do { \
- void* base = reinterpret_cast<void*>(ipint_unreachable_validate); \
- void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \
-- void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \
-- void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \
-+ void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \
-+ void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \
- RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \
- } while (false);
-
-@@ -52,8 +52,8 @@ do { \
- do { \
- void* base = reinterpret_cast<void*>(ipint_i32_trunc_sat_f32_s_validate); \
- void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \
-- void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \
-- void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \
-+ void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \
-+ void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \
- RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \
- } while (false);
-
-@@ -61,8 +61,8 @@ do { \
- do { \
- void* base = reinterpret_cast<void*>(ipint_simd_v128_load_mem_validate); \
- void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \
-- void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \
-- void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \
-+ void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \
-+ void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \
- RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \
- } while (false);
-
-@@ -70,8 +70,8 @@ do { \
- do { \
- void* base = reinterpret_cast<void*>(ipint_memory_atomic_notify_validate); \
- void* ptr = reinterpret_cast<void*>(ipint_ ## name ## _validate); \
-- void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr(); \
-- void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr(); \
-+ void* untaggedBase = CodePtr<CFunctionPtrTag>::fromTaggedPtr(base).template untaggedPtr<>(); \
-+ void* untaggedPtr = CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>(); \
- RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \
- } while (false);
-
-diff --git a/Source/JavaScriptCore/llint/LLIntData.h b/Source/JavaScriptCore/llint/LLIntData.h
-index 97de867e..87a2971d 100644
---- a/Source/JavaScriptCore/llint/LLIntData.h
-+++ b/Source/JavaScriptCore/llint/LLIntData.h
-@@ -217,7 +217,7 @@ ALWAYS_INLINE LLIntCode getCodeFunctionPtr(OpcodeID opcodeID)
- #if COMPILER(MSVC)
- return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).taggedPtr());
- #else
-- return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr());
-+ return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr<>());
- #endif
- }
-
-@@ -227,7 +227,7 @@ ALWAYS_INLINE LLIntCode getWide16CodeFunctionPtr(OpcodeID opcodeID)
- #if COMPILER(MSVC)
- return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).taggedPtr());
- #else
-- return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr());
-+ return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr<>());
- #endif
- }
-
-@@ -237,7 +237,7 @@ ALWAYS_INLINE LLIntCode getWide32CodeFunctionPtr(OpcodeID opcodeID)
- #if COMPILER(MSVC)
- return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).taggedPtr());
- #else
-- return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr());
-+ return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr<>());
- #endif
- }
- #else // not ENABLE(JIT)
-@@ -361,7 +361,7 @@ ALWAYS_INLINE LLIntCode getCodeFunctionPtr(WasmOpcodeID opcodeID)
- #if COMPILER(MSVC)
- return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).taggedPtr());
- #else
-- return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr());
-+ return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template taggedPtr<>());
- #endif
- }
-
-@@ -371,7 +371,7 @@ ALWAYS_INLINE LLIntCode getWide16CodeFunctionPtr(WasmOpcodeID opcodeID)
- #if COMPILER(MSVC)
- return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).taggedPtr());
- #else
-- return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr());
-+ return reinterpret_cast<LLIntCode>(getWide16CodePtr<tag>(opcodeID).template taggedPtr<>());
- #endif
- }
-
-@@ -381,7 +381,7 @@ ALWAYS_INLINE LLIntCode getWide32CodeFunctionPtr(WasmOpcodeID opcodeID)
- #if COMPILER(MSVC)
- return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).taggedPtr());
- #else
-- return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr());
-+ return reinterpret_cast<LLIntCode>(getWide32CodePtr<tag>(opcodeID).template taggedPtr<>());
- #endif
- }
- #else // not ENABLE(JIT)
-diff --git a/Source/JavaScriptCore/llint/LLIntThunks.cpp b/Source/JavaScriptCore/llint/LLIntThunks.cpp
-index 13269469..e41fa5b8 100644
---- a/Source/JavaScriptCore/llint/LLIntThunks.cpp
-+++ b/Source/JavaScriptCore/llint/LLIntThunks.cpp
-@@ -227,7 +227,7 @@ ALWAYS_INLINE void* untaggedPtr(void* ptr)
- #if COMPILER(MSVC)
- return CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).untaggedPtr();
- #else
-- return CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr();
-+ return CodePtr<CFunctionPtrTag>::fromTaggedPtr(ptr).template untaggedPtr<>();
- #endif
- }
-
-diff --git a/Source/JavaScriptCore/parser/Nodes.h b/Source/JavaScriptCore/parser/Nodes.h
-index 01af81b7..70b87088 100644
---- a/Source/JavaScriptCore/parser/Nodes.h
-+++ b/Source/JavaScriptCore/parser/Nodes.h
-@@ -1,7 +1,7 @@
- /*
- * Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
- * Copyright (C) 2001 Peter Kelly (pmk@post.com)
-- * Copyright (C) 2003-2019 Apple Inc. All rights reserved.
-+ * Copyright (C) 2003-2024 Apple Inc. All rights reserved.
- * Copyright (C) 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca)
- * Copyright (C) 2007 Maks Orlovich
- * Copyright (C) 2007 Eric Seidel <eric@webkit.org>
-@@ -29,6 +29,7 @@
- #include "ImplementationVisibility.h"
- #include "JITCode.h"
- #include "Label.h"
-+#include "ModuleScopeData.h"
- #include "ParserArena.h"
- #include "ParserModes.h"
- #include "ParserTokens.h"
-@@ -49,7 +50,6 @@ namespace JSC {
- class FunctionMetadataNode;
- class FunctionParameters;
- class ModuleAnalyzer;
-- class ModuleScopeData;
- class PropertyListNode;
- class ReadModifyResolveNode;
- class RegisterID;
-diff --git a/Source/JavaScriptCore/runtime/JSCast.h b/Source/JavaScriptCore/runtime/JSCast.h
-index a44b6e38..e5664a8b 100644
---- a/Source/JavaScriptCore/runtime/JSCast.h
-+++ b/Source/JavaScriptCore/runtime/JSCast.h
-@@ -236,7 +236,7 @@ template<typename Target, typename From>
- bool inherits(From* from)
- {
- using Dispatcher = InheritsTraits<Target>;
-- return Dispatcher::template inherits(from);
-+ return Dispatcher::template inherits<>(from);
- }
-
- } // namespace JSCastingHelpers
-@@ -245,7 +245,7 @@ template<typename To, typename From>
- To jsDynamicCast(From* from)
- {
- using Dispatcher = JSCastingHelpers::InheritsTraits<typename std::remove_cv<typename std::remove_pointer<To>::type>::type>;
-- if (LIKELY(Dispatcher::template inherits(from)))
-+ if (LIKELY(Dispatcher::template inherits<>(from)))
- return static_cast<To>(from);
- return nullptr;
- }
+++ /dev/null
-From 2ee948191de1c561b72ebf462605376cfb3ce7af Mon Sep 17 00:00:00 2001
-From: Thomas Devoogdt <thomas.devoogdt@barco.com>
-Date: Mon, 16 Jan 2023 17:03:30 +0100
-Subject: [PATCH] REGRESSION(257865@main): B3Validate.cpp: fix
-
- !ENABLE(WEBASSEMBLY_B3JIT)
-
-https://bugs.webkit.org/show_bug.cgi?id=250681
-
-Reviewed by NOBODY (OOPS!).
-
-WasmTypeDefinition.h isn't included if not ENABLE(WEBASSEMBLY_B3JIT).
-Also, toB3Type and simdScalarType are not defined if it is included.
-
-Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
-
-Upstream-Status: Inappropriate [https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2008798]
-
-Signed-off-by: Markus Volk <f_l_k@t-online.de>
----
- Source/JavaScriptCore/b3/B3Validate.cpp | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp b/Source/JavaScriptCore/b3/B3Validate.cpp
-index eaaa3749..1d089783 100644
---- a/Source/JavaScriptCore/b3/B3Validate.cpp
-+++ b/Source/JavaScriptCore/b3/B3Validate.cpp
-@@ -47,6 +47,12 @@
- #include <wtf/StringPrintStream.h>
- #include <wtf/text/CString.h>
-
-+#if ENABLE(WEBASSEMBLY) && ENABLE(WEBASSEMBLY_B3JIT)
-+#define simdScalarTypeToB3Type(type) toB3Type(Wasm::simdScalarType(type))
-+#else
-+#define simdScalarTypeToB3Type(type) B3::Type()
-+#endif
-+
- namespace JSC { namespace B3 {
-
- namespace {
-@@ -454,7 +460,7 @@ public:
- case VectorExtractLane:
- VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
- VALIDATE(value->numChildren() == 1, ("At ", *value));
-- VALIDATE(value->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
-+ VALIDATE(value->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
- VALIDATE(value->child(0)->type() == V128, ("At ", *value));
- break;
- case VectorReplaceLane:
-@@ -462,7 +468,7 @@ public:
- VALIDATE(value->numChildren() == 2, ("At ", *value));
- VALIDATE(value->type() == V128, ("At ", *value));
- VALIDATE(value->child(0)->type() == V128, ("At ", *value));
-- VALIDATE(value->child(1)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
-+ VALIDATE(value->child(1)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
- break;
- case VectorDupElement:
- VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
-@@ -484,7 +490,7 @@ public:
- VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
- VALIDATE(value->numChildren() == 1, ("At ", *value));
- VALIDATE(value->type() == V128, ("At ", *value));
-- VALIDATE(value->child(0)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
-+ VALIDATE(value->child(0)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
- break;
-
- case VectorPopcnt: