You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
mono: fix build with Apple Clang 21
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
This commit is contained in:
@@ -28,6 +28,8 @@ checksums rmd160 917021fc3fd08cad611d46aa7a9c19a19a64d094 \
|
||||
patchfiles-append patch-aot-compiler.c.diff \
|
||||
dynamic_lookup-11.patch \
|
||||
patch-xcode_14.diff
|
||||
# https://github.com/dotnet/runtime/pull/91808
|
||||
patchfiles-append patch-icall-_Bool.diff
|
||||
|
||||
# autoreconf is needed just for the arm64 until upstream fixes the tooling
|
||||
use_autoreconf yes
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
Fix build with C11 compilers where bool is a keyword, causing ICALL_SIG_TYPE_ ## bool
|
||||
to token-paste into ICALL_SIG_TYPE__Bool which is not a declared enum member.
|
||||
https://github.com/dotnet/runtime/issues/91779
|
||||
https://github.com/dotnet/runtime/pull/91808
|
||||
--- mono/metadata/icall-signatures.h.orig
|
||||
+++ mono/metadata/icall-signatures.h
|
||||
@@ -57,7 +57,7 @@
|
||||
// mono_icall_sig_void_int32
|
||||
// mono_icall_sig_void_object
|
||||
// mono_icall_sig_void_ptr
|
||||
-// mono_icall_sig_bool_ptr_ptrref
|
||||
+// mono_icall_sig_boolean_ptr_ptrref
|
||||
// mono_icall_sig_double_double_double
|
||||
// mono_icall_sig_float_float_float
|
||||
// mono_icall_sig_int_obj_ptr
|
||||
@@ -94,7 +94,7 @@
|
||||
// mono_icall_sig_void_ptr_ptr
|
||||
// mono_icall_sig_void_ptr_ptrref
|
||||
// mono_icall_sig_void_uint32_ptrref
|
||||
-// mono_icall_sig_bool_ptr_int32_ptrref
|
||||
+// mono_icall_sig_boolean_ptr_int32_ptrref
|
||||
// mono_icall_sig_int32_int32_ptr_ptrref
|
||||
// mono_icall_sig_int32_ptr_int32_ptr
|
||||
// mono_icall_sig_int32_ptr_int32_ptrref
|
||||
@@ -182,7 +182,7 @@
|
||||
ICALL_SIG (2, (void, int32)) \
|
||||
ICALL_SIG (2, (void, object)) \
|
||||
ICALL_SIG (2, (void, ptr)) \
|
||||
-ICALL_SIG (3, (bool, ptr, ptrref)) \
|
||||
+ICALL_SIG (3, (boolean, ptr, ptrref)) \
|
||||
ICALL_SIG (3, (double, double, double)) \
|
||||
ICALL_SIG (3, (float, float, float)) \
|
||||
ICALL_SIG (3, (int, obj, ptr)) \
|
||||
@@ -219,7 +219,7 @@
|
||||
ICALL_SIG (3, (void, ptr, ptr)) \
|
||||
ICALL_SIG (3, (void, ptr, ptrref)) \
|
||||
ICALL_SIG (3, (void, uint32, ptrref)) \
|
||||
-ICALL_SIG (4, (bool, ptr, int32, ptrref)) \
|
||||
+ICALL_SIG (4, (boolean, ptr, int32, ptrref)) \
|
||||
ICALL_SIG (4, (int32, int32, ptr, ptrref)) \
|
||||
ICALL_SIG (4, (int32, ptr, int32, ptr)) \
|
||||
ICALL_SIG (4, (int32, ptr, int32, ptrref)) \
|
||||
--- mono/metadata/icall.c.orig
|
||||
+++ mono/metadata/icall.c
|
||||
@@ -9418,8 +9418,7 @@
|
||||
// mono_create_icall_signatures depends on this order. Handle with care.
|
||||
// It is alphabetical.
|
||||
typedef enum ICallSigType {
|
||||
- ICALL_SIG_TYPE_bool = 0x00,
|
||||
- ICALL_SIG_TYPE_boolean = ICALL_SIG_TYPE_bool,
|
||||
+ ICALL_SIG_TYPE_boolean = 0x00,
|
||||
ICALL_SIG_TYPE_double = 0x01,
|
||||
ICALL_SIG_TYPE_float = 0x02,
|
||||
ICALL_SIG_TYPE_int = 0x03,
|
||||
@@ -9496,7 +9495,7 @@
|
||||
typedef gsize G_MAY_ALIAS gsize_a;
|
||||
|
||||
MonoType * const lookup [ ] = {
|
||||
- m_class_get_byval_arg (mono_defaults.boolean_class), // ICALL_SIG_TYPE_bool
|
||||
+ m_class_get_byval_arg (mono_defaults.boolean_class), // ICALL_SIG_TYPE_boolean
|
||||
m_class_get_byval_arg (mono_defaults.double_class), // ICALL_SIG_TYPE_double
|
||||
m_class_get_byval_arg (mono_defaults.single_class), // ICALL_SIG_TYPE_float
|
||||
m_class_get_byval_arg (mono_defaults.int_class), // ICALL_SIG_TYPE_int
|
||||
--- mono/mini/aot-compiler.c.orig
|
||||
+++ mono/mini/aot-compiler.c
|
||||
@@ -13507,8 +13507,8 @@
|
||||
|
||||
#ifndef MONO_ARCH_HAVE_INTERP_ENTRY_TRAMPOLINE
|
||||
static MonoMethodSignature * const * const interp_in_static_sigs [] = {
|
||||
- &mono_icall_sig_bool_ptr_int32_ptrref,
|
||||
- &mono_icall_sig_bool_ptr_ptrref,
|
||||
+ &mono_icall_sig_boolean_ptr_int32_ptrref,
|
||||
+ &mono_icall_sig_boolean_ptr_ptrref,
|
||||
&mono_icall_sig_int32_int32_ptrref,
|
||||
&mono_icall_sig_int32_int32_ptr_ptrref,
|
||||
&mono_icall_sig_int32_ptr_int32_ptr,
|
||||
Reference in New Issue
Block a user