Fix macOS build target in Xcode project.
- Add missing files for desktop platforms in generate-darwin-source-and-headers.py, and in the Xcode project. - Add a static library target for macOS. - Fix "implicit conversion loses integer precision" warnings for iOS mad macOS targets.
This commit is contained in:
@@ -231,7 +231,7 @@ is_vfp_type (const ffi_type *ty)
|
||||
|
||||
/* All tests succeeded. Encode the result. */
|
||||
done:
|
||||
return candidate * 4 + (4 - ele_count);
|
||||
return candidate * 4 + (4 - (int)ele_count);
|
||||
}
|
||||
|
||||
/* Representation of the procedure call argument marshalling
|
||||
@@ -528,7 +528,7 @@ ffi_prep_cif_machdep (ffi_cif *cif)
|
||||
}
|
||||
|
||||
/* Round the stack up to a multiple of the stack alignment requirement. */
|
||||
cif->bytes = ALIGN(bytes, 16);
|
||||
cif->bytes = (unsigned) ALIGN(bytes, 16);
|
||||
cif->flags = flags;
|
||||
#if defined (__APPLE__)
|
||||
cif->aarch64_nfixedargs = 0;
|
||||
|
||||
@@ -506,7 +506,7 @@ open_temp_exec_file_dir (const char *dir)
|
||||
}
|
||||
#endif
|
||||
|
||||
lendir = strlen (dir);
|
||||
lendir = (int) strlen (dir);
|
||||
tempname = __builtin_alloca (lendir + sizeof (suffix));
|
||||
|
||||
if (!tempname)
|
||||
|
||||
@@ -395,7 +395,8 @@ ffi_prep_cif_machdep_efi64(ffi_cif *cif);
|
||||
ffi_status
|
||||
ffi_prep_cif_machdep (ffi_cif *cif)
|
||||
{
|
||||
int gprcount, ssecount, i, avn, ngpr, nsse, flags;
|
||||
int gprcount, ssecount, i, avn, ngpr, nsse;
|
||||
unsigned flags;
|
||||
enum x86_64_reg_class classes[MAX_CLASSES];
|
||||
size_t bytes, n, rtype_size;
|
||||
ffi_type *rtype;
|
||||
@@ -494,7 +495,7 @@ ffi_prep_cif_machdep (ffi_cif *cif)
|
||||
case FFI_TYPE_SINT32:
|
||||
case FFI_TYPE_UINT64:
|
||||
case FFI_TYPE_SINT64:
|
||||
flags = UNIX64_RET_ST_RAX_RDX | (rtype_size << UNIX64_SIZE_SHIFT);
|
||||
flags = UNIX64_RET_ST_RAX_RDX | ((unsigned) rtype_size << UNIX64_SIZE_SHIFT);
|
||||
break;
|
||||
case FFI_TYPE_FLOAT:
|
||||
flags = UNIX64_RET_XMM64;
|
||||
@@ -542,7 +543,7 @@ ffi_prep_cif_machdep (ffi_cif *cif)
|
||||
flags |= UNIX64_FLAG_XMM_ARGS;
|
||||
|
||||
cif->flags = flags;
|
||||
cif->bytes = ALIGN (bytes, 8);
|
||||
cif->bytes = (unsigned) ALIGN (bytes, 8);
|
||||
|
||||
return FFI_OK;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user