summaryrefslogtreecommitdiff
path: root/src/prep_cif.c
diff options
context:
space:
mode:
authorAnthony Green <green@gmachine.(none)>2010-01-15 10:46:51 -0500
committerAnthony Green <green@gmachine.(none)>2010-01-15 10:46:51 -0500
commitcadeba6cb53414a1253582f1719c286665de7b6c (patch)
treece9b09009bfc3220ebf1ed5e05698cb3b55a8097 /src/prep_cif.c
parent0739e7dc00db766eb64f502ec4137b817638c9a1 (diff)
downloadlibffi-cadeba6cb53414a1253582f1719c286665de7b6c.tar.gz
Microsoft Visual C port
Diffstat (limited to 'src/prep_cif.c')
-rw-r--r--src/prep_cif.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/prep_cif.c b/src/prep_cif.c
index eb78f9a..c1c3b9a 100644
--- a/src/prep_cif.c
+++ b/src/prep_cif.c
@@ -109,16 +109,13 @@ ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
/* Perform a sanity check on the return type */
FFI_ASSERT_VALID_TYPE(cif->rtype);
- /* x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined __x86_64__ && !defined S390 && !defined PA
+ /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
+#if !defined M68K && !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
/* Make space for the return structure pointer */
if (cif->rtype->type == FFI_TYPE_STRUCT
#ifdef SPARC
&& (cif->abi != FFI_V9 || cif->rtype->size > 32)
#endif
-#ifdef X86_DARWIN
- && (cif->rtype->size > 8)
-#endif
)
bytes = STACK_ARG_SIZE(sizeof(void*));
#endif
@@ -134,7 +131,7 @@ ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
check after the initialization. */
FFI_ASSERT_VALID_TYPE(*ptr);
-#if !defined __x86_64__ && !defined S390 && !defined PA
+#if !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
#ifdef SPARC
if (((*ptr)->type == FFI_TYPE_STRUCT
&& ((*ptr)->size > 16 || cif->abi != FFI_V9))