- fixed function cast in ikarus-ffi.

- added "make check" rule in the scheme directory.
This commit is contained in:
Abdulaziz Ghuloum 2008-10-31 16:55:43 -04:00
parent 359aa1d2c9
commit 8afcbbef67
4 changed files with 7 additions and 2 deletions

View File

@ -52,3 +52,5 @@ MAINTAINERCLEANFILES=last-revision
ikarus.boot: $(EXTRA_DIST) ikarus.config.ss ikarus.boot: $(EXTRA_DIST) ikarus.config.ss
../src/ikarus -b ./ikarus.boot.$(sizeofvoidp).prebuilt --r6rs-script makefile.ss ../src/ikarus -b ./ikarus.boot.$(sizeofvoidp).prebuilt --r6rs-script makefile.ss
check: ikarus.boot
../src/ikarus -b ikarus.boot --r6rs-script run-tests.ss

View File

@ -386,6 +386,9 @@ ikarus.config.ss: Makefile last-revision ../config.h
ikarus.boot: $(EXTRA_DIST) ikarus.config.ss ikarus.boot: $(EXTRA_DIST) ikarus.config.ss
../src/ikarus -b ./ikarus.boot.$(sizeofvoidp).prebuilt --r6rs-script makefile.ss ../src/ikarus -b ./ikarus.boot.$(sizeofvoidp).prebuilt --r6rs-script makefile.ss
check: ikarus.boot
../src/ikarus -b ikarus.boot --r6rs-script run-tests.ss
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:

View File

@ -1 +1 @@
1654 1655

View File

@ -322,7 +322,7 @@ ikrt_ffi_call(ikptr data, ikptr argsvec, ikpcb* pcb) {
ikptr typevec = ref(data, off_vector_data + 2 * wordsize); ikptr typevec = ref(data, off_vector_data + 2 * wordsize);
ikptr rtype = ref(data, off_vector_data + 3 * wordsize); ikptr rtype = ref(data, off_vector_data + 3 * wordsize);
ffi_cif* cif = (ffi_cif*) ref(cifptr, off_pointer_data); ffi_cif* cif = (ffi_cif*) ref(cifptr, off_pointer_data);
void(*fn)() = (void*) ref(funptr, off_pointer_data); void(*fn)() = (void (*)()) ref(funptr, off_pointer_data);
int n = unfix(ref(argsvec, off_vector_length)); int n = unfix(ref(argsvec, off_vector_length));
void** avalues = alloc(sizeof(void*), n+1); void** avalues = alloc(sizeof(void*), n+1);
int i; int i;