X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fobjects.lisp;h=1510d246ccb5a6a139bd6361dbd8e59ad1570afe;hb=66f5a25945b334732c2420fbe73b389e89de1669;hp=358763e41fc829c815845886a3e898dcf31bd733;hpb=09ef86d2df68776a773bcf35a32ee45e204f2200;p=uffi.git diff --git a/src/objects.lisp b/src/objects.lisp index 358763e..1510d24 100644 --- a/src/objects.lisp +++ b/src/objects.lisp @@ -238,9 +238,9 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated." `(let ((,binding-name ,pointer)) ,@body)) -#-(or lispworks cmu scl sbcl allegro) +#-(or lispworks cmu scl sbcl allegro openmcl) (defmacro with-cast-pointer ((binding-name pointer type) &body body) - (declare (ignore binding-name pointer type)) + (declare (ignore binding-name pointer type body)) '(error "WITH-CAST-POINTER not (yet) implemented for ~A" (lisp-implementation-type))) @@ -266,7 +266,12 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated." :module ,module) (define-symbol-macro ,lisp-name (fli:dereference (,lisp-name) :copy-foreign-object nil))) - #-(or allegro cmu scl sbcl lispworks) + #+(and openmcl darwinppc-target) + (setf foreign-name (concatenate 'string "_" foreign-name)) + #+openmcl + `(define-symbol-macro ,lisp-name + (deref-pointer (ccl:foreign-symbol-address ,foreign-name) ,var-type)) + #-(or allegro cmu scl sbcl lispworks openmcl) `(define-symbol-macro ,lisp-name '(error "DEF-FOREIGN-VAR not (yet) defined for ~A" (lisp-implementation-type)))))