mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 09:36:41 -04:00
java/openjfx14: fix build with clang 19
Clang 19 now implements CWG 96 [1], which requires a template argument
list after a 'template' keyword, resulting in errors similar to:
/wrkdirs/usr/ports/java/openjfx14/work/jfx-14.0.2.1-1/modules/javafx.web/src/main/native/Source/JavaScriptCore/assembler/AbstractMacroAssembler.h:923:65: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
923 | AssemblerType::repatchCompact(dataLabelCompact.template dataLocation(), value);
| ^
/wrkdirs/usr/ports/java/openjfx14/work/jfx-14.0.2.1-1/modules/javafx.web/src/main/native/Source/JavaScriptCore/runtime/JSCast.h:146:33: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
146 | return Dispatcher::template inherits(vm, from);
| ^
/wrkdirs/usr/ports/java/openjfx14/work/jfx-14.0.2.1-1/modules/javafx.web/src/main/native/Source/JavaScriptCore/runtime/JSCast.h:155:37: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
155 | if (LIKELY(Dispatcher::template inherits(vm, from)))
| ^
/wrkdirs/usr/ports/java/openjfx14/work/jfx-14.0.2.1-1/modules/javafx.web/src/main/native/Source/JavaScriptCore/llint/LLIntData.h:159:75: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
159 | return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template executableAddress());
| ^
In all these cases, appending "<>" is enough to satisfy the constraint.
[1] https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#96
PR: 282473
MFH: 2024Q4
(cherry picked from commit aa9dd58652
)
This commit is contained in:
parent
27efb93a3b
commit
60ab19bed1
3 changed files with 42 additions and 0 deletions
|
@ -0,0 +1,11 @@
|
|||
--- modules/javafx.web/src/main/native/Source/JavaScriptCore/assembler/AbstractMacroAssembler.h.orig 2020-07-17 10:21:33 UTC
|
||||
+++ modules/javafx.web/src/main/native/Source/JavaScriptCore/assembler/AbstractMacroAssembler.h
|
||||
@@ -920,7 +920,7 @@ class AbstractMacroAssembler : public AbstractMacroAss
|
||||
template<PtrTag tag>
|
||||
static void repatchCompact(CodeLocationDataLabelCompact<tag> dataLabelCompact, int32_t value)
|
||||
{
|
||||
- AssemblerType::repatchCompact(dataLabelCompact.template dataLocation(), value);
|
||||
+ AssemblerType::repatchCompact(dataLabelCompact.template dataLocation<>(), value);
|
||||
}
|
||||
|
||||
template<PtrTag tag>
|
|
@ -0,0 +1,11 @@
|
|||
--- modules/javafx.web/src/main/native/Source/JavaScriptCore/llint/LLIntData.h.orig 2020-07-17 10:21:33 UTC
|
||||
+++ modules/javafx.web/src/main/native/Source/JavaScriptCore/llint/LLIntData.h
|
||||
@@ -156,7 +156,7 @@ ALWAYS_INLINE LLIntCode getCodeFunctionPtr(OpcodeID op
|
||||
#if COMPILER(MSVC)
|
||||
return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).executableAddress());
|
||||
#else
|
||||
- return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template executableAddress());
|
||||
+ return reinterpret_cast<LLIntCode>(getCodePtr<tag>(opcodeID).template executableAddress<>());
|
||||
#endif
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
--- modules/javafx.web/src/main/native/Source/JavaScriptCore/runtime/JSCast.h.orig 2020-07-17 10:21:33 UTC
|
||||
+++ modules/javafx.web/src/main/native/Source/JavaScriptCore/runtime/JSCast.h
|
||||
@@ -143,7 +143,7 @@ bool inherits(VM& vm, From* from)
|
||||
bool inherits(VM& vm, From* from)
|
||||
{
|
||||
using Dispatcher = InheritsTraits<Target>;
|
||||
- return Dispatcher::template inherits(vm, from);
|
||||
+ return Dispatcher::template inherits<>(vm, from);
|
||||
}
|
||||
|
||||
} // namespace JSCastingHelpers
|
||||
@@ -152,7 +152,7 @@ To jsDynamicCast(VM& vm, From* from)
|
||||
To jsDynamicCast(VM& vm, From* from)
|
||||
{
|
||||
using Dispatcher = JSCastingHelpers::InheritsTraits<typename std::remove_cv<typename std::remove_pointer<To>::type>::type>;
|
||||
- if (LIKELY(Dispatcher::template inherits(vm, from)))
|
||||
+ if (LIKELY(Dispatcher::template inherits<>(vm, from)))
|
||||
return static_cast<To>(from);
|
||||
return nullptr;
|
||||
}
|
Loading…
Add table
Reference in a new issue