diff -r 58ef1e6a54f9 -r 5ca3989a13f0 ExternalLibraryFunction.st --- 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) );