X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fprimitives.lisp;h=14763f732227e650dca9bac9cc898417172c6056;hb=HEAD;hp=b7c0283b2e2a9f6d9ba0fdf729b634aa738c09d6;hpb=4b3d6378e1c9ea38fa2eeced4f9f2dfbe41e3a64;p=uffi.git diff --git a/src/primitives.lisp b/src/primitives.lisp index b7c0283..14763f7 100644 --- a/src/primitives.lisp +++ b/src/primitives.lisp @@ -141,12 +141,14 @@ supports takes advantage of this optimization." (:unsigned-short . c-call:unsigned-short) (:int . alien:integer) (:unsigned-int . c-call:unsigned-int) (:long . c-call:long) (:unsigned-long . c-call:unsigned-long) - #+#.(cl:if (cl:find-symbol (cl:string '#:long-long) - (cl:string '#:c-call)) + #+#.(cl:if (cl:and (cl:find-package (cl:string '#:c-call)) + (cl:find-symbol (cl:string '#:long-long) + (cl:string '#:c-call))) '(and) '(or)) (:long-long . c-call:long-long) - #+#.(cl:if (cl:find-symbol (cl:string '#:unsigned-long-long) - (cl:string '#:c-call)) + #+#.(cl:if (cl:and (cl:find-package (cl:string '#:c-call)) + (cl:find-symbol (cl:string '#:unsigned-long-long) + (cl:string '#:c-call))) '(and) '(or)) (:unsigned-long-long . c-call:unsigned-long-long) (:float . c-call:float) (:double . c-call:double) @@ -183,10 +185,15 @@ supports takes advantage of this optimization." (:unsigned-char . :unsigned-char) (:int . :int) (:unsigned-int . :unsigned-int) (:long . :long) (:unsigned-long . :unsigned-long) +#+64bit (:unsigned-long-long . :unsigned-long) +#+64bit (:long-long . :unsigned-long) (:float . :float) (:double . :double) (:array . :array))) -#+(or allegro cormanlisp) +#+(and allegro (not 64bit)) +(push 'uffi:no-long-long cl:*features*) + +#+cormanlisp (push 'uffi:no-long-long cl:*features*) #+lispworks