--- a/ExternalLibraryFunction.st Mon Mar 14 15:33:13 2016 +0100
+++ b/ExternalLibraryFunction.st Mon Mar 14 15:46:43 2016 +0100
@@ -956,7 +956,7 @@
# ifdef HAS_INT64
__int64__ longLongVal;
# else
- struct ll { long low; long hi; } longLongVal;
+ struct ll { long lo; long hi; } longLongVal;
# endif
# endif
};
@@ -1702,7 +1702,7 @@
printf("UNLIMITEDSTACKCALL call 0x%"_lx_"\n", (INT)codeAddress);
}
# endif
- __UNLIMITEDSTACKCALL4__(ffi_call, &__cif, codeAddress, __returnValuePointer, __argValuePointersIncludingThis);
+ __UNLIMITEDSTACKCALL4__((OBJFUNC)ffi_call, (INT)(&__cif), (INT)codeAddress, (INT)__returnValuePointer, (INT)__argValuePointersIncludingThis);
} else {
# ifdef VERBOSE
if (@global(Verbose) == true) {
@@ -1760,7 +1760,7 @@
RETURN ( __MKUCHARACTER(__returnValue.iVal & 0xFFFF) );
}
if (returnTypeSymbol == @symbol(sint64)) {
-# if (__POINTER_SIZE__ == 8) || defined(HAS_INT64)
+# if (__POINTER_SIZE__ == 8)
# ifdef VERBOSE
if (@global(Verbose) == true) {
@@ -1771,14 +1771,14 @@
# else
# ifdef VERBOSE
if (@global(Verbose) == true) {
- printf("return sint64: %lx%08lx\n", __returnValue.longLongVal.hi, __returnValue.longLongVal.low);
+ printf("return sint64: %lx%08lx\n", __returnValue.longLongVal.hi, __returnValue.longLongVal.lo);
}
# endif
RETURN ( __MKINT64(&__returnValue.longLongVal) );
# endif
}
if (returnTypeSymbol == @symbol(uint64)) {
-# if (__POINTER_SIZE__ == 8) || defined(HAS_INT64)
+# if (__POINTER_SIZE__ == 8)
# ifdef VERBOSE
if (@global(Verbose) == true) {
printf("return uint64: %"_lx_"\n", (unsigned INT)(__returnValue.longLongVal));
@@ -1788,7 +1788,7 @@
# else
# ifdef VERBOSE
if (@global(Verbose) == true) {
- printf("return sint64: %lx%08lx\n", __returnValue.longLongVal.hi, __returnValue.longLongVal.low);
+ printf("return sint64: %lx%08lx\n", __returnValue.longLongVal.hi, __returnValue.longLongVal.lo);
}
# endif
RETURN ( __MKUINT64(&__returnValue.longLongVal) );