ExternalLibraryFunction.st
changeset 19356 5ca3989a13f0
parent 19355 58ef1e6a54f9
child 19357 3e007f7f1969
--- 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) );