Remove warnings and add OS/2 support

This commit is contained in:
Anthony Green
2010-04-13 10:19:28 -04:00
parent c0b69e57d5
commit f2c2a4fce9
32 changed files with 39835 additions and 42 deletions

View File

@@ -344,7 +344,7 @@ ffi_status
ffi_prep_cif_machdep (ffi_cif *cif)
{
/* All this is for the DARWIN ABI. */
int i;
unsigned i;
ffi_type **ptr;
unsigned bytes;
int fparg_count = 0, intarg_count = 0;
@@ -542,11 +542,11 @@ ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
{
case FFI_AIX:
ffi_call_AIX(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn,
ffi_prep_args);
FFI_FN(ffi_prep_args));
break;
case FFI_DARWIN:
ffi_call_DARWIN(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn,
ffi_prep_args);
FFI_FN(ffi_prep_args));
break;
default:
FFI_ASSERT(0);
@@ -799,9 +799,9 @@ ffi_closure_helper_DARWIN (ffi_closure *closure, void *rvalue,
if (arg_types[i]->elements[0]->type == FFI_TYPE_DOUBLE)
size_al = ALIGN (arg_types[i]->size, 8);
if (size_al < 3 && cif->abi == FFI_DARWIN)
avalue[i] = (void *) pgr + 8 - size_al;
avalue[i] = (char *) pgr + 8 - size_al;
else
avalue[i] = (void *) pgr;
avalue[i] = pgr;
pgr += (size_al + 7) / 8;
#else
/* Structures that match the basic modes (QI 1 byte, HI 2 bytes,
@@ -812,9 +812,9 @@ ffi_closure_helper_DARWIN (ffi_closure *closure, void *rvalue,
if (arg_types[i]->elements[0]->type == FFI_TYPE_DOUBLE)
size_al = ALIGN(arg_types[i]->size, 8);
if (size_al < 3 && cif->abi == FFI_DARWIN)
avalue[i] = (void*) pgr + 4 - size_al;
avalue[i] = (char*) pgr + 4 - size_al;
else
avalue[i] = (void*) pgr;
avalue[i] = pgr;
pgr += (size_al + 3) / 4;
#endif
break;