; compiling (DEFCALLBACK < ...) ; file: /opt/home/simon/lisp_packages/cffi-luis/tests/callbacks.lisp ; in: DEFCALLBACK < ; (CFFI:DEFCALLBACK < ; :INT ; ((CFFI-TESTS::A :POINTER) (CFFI-TESTS::B ; :POINTER)) ; (LET ((CFFI-TESTS::X (CFFI:MEM-REF CFFI-TESTS::A ; :INT)) ; (CFFI-TESTS::Y (CFFI:MEM-REF CFFI-TESTS::B ; :INT))) ; (COND ((> CFFI-TESTS::X CFFI-TESTS::Y) 1) ; ((< CFFI-TESTS::X CFFI-TESTS::Y) -1) ; (T 0)))) ; --> PROGN CFFI-SYS:%DEFCALLBACK SETF LET* LET* MULTIPLE-VALUE-BIND ; LET ; --> ALIEN-SAP SB-ALIEN::ALIEN-LAMBDA ; ==> ; (SB-ALIEN-INTERNALS:ALIEN-CALLBACK ; (FUNCTION INT SYSTEM-AREA-POINTER SYSTEM-AREA-POINTER) ; (LAMBDA (CFFI-TESTS::A CFFI-TESTS::B) ; (CFFI::INVERSE-TRANSLATE-OBJECTS (CFFI-TESTS::A CFFI-TESTS::B) ; (:POINTER :POINTER) ; :INT ; (BLOCK < ; (LET # ; #))))) ; ; caught ERROR: ; (in macroexpansion of (SB-ALIEN-INTERNALS:ALIEN-CALLBACK # #)) ; (hint: For more precise location, try *BREAK-ON-SIGNALS*.) ; Unsupported callback argument type: ; #<ALIEN-SYSTEM-AREA-POINTER-TYPE SB-SYS:SYSTEM-AREA-POINTER>
and
; compiling (DEFCALLBACK READ-INT-FROM-POINTER ...) ; file: /opt/home/simon/lisp_packages/cffi-luis/tests/callbacks.lisp ; in: DEFCALLBACK READ-INT-FROM-POINTER ; (CFFI:DEFCALLBACK CFFI-TESTS::READ-INT-FROM-POINTER ; :VOID ; ((CFFI-TESTS::A :POINTER)) ; (SETQ CFFI-TESTS::*INT* (CFFI:MEM-REF ; CFFI-TESTS::A :INT))) ; --> PROGN CFFI-SYS:%DEFCALLBACK SETF LET* LET* MULTIPLE-VALUE-BIND ; LET ; --> ALIEN-SAP SB-ALIEN::ALIEN-LAMBDA ; ==> ; (SB-ALIEN-INTERNALS:ALIEN-CALLBACK (FUNCTION VOID ; SYSTEM-AREA-POINTER) ; (LAMBDA (CFFI-TESTS::A) ; (CFFI::INVERSE-TRANSLATE-OBJECTS ; (CFFI-TESTS::A) ; (:POINTER) ; :VOID ; (BLOCK ; CFFI-TESTS::READ-INT-FROM-POINTER ; (SETQ CFFI-TESTS::*INT* ; #))))) ; ; caught ERROR: ; (in macroexpansion of (SB-ALIEN-INTERNALS:ALIEN-CALLBACK # #)) ; (hint: For more precise location, try *BREAK-ON-SIGNALS*.) ; cannot use values types here
Andras