[cffi-devel] [PATCH] 64-bit support for Allegro, and allocate stack objects in the static area

Luís Oliveira luismbo at gmail.com
Mon Jan 5 03:14:13 UTC 2009


On Mon, Jan 5, 2009 at 1:02 AM, John Fremlin <jf at msi.co.jp> wrote:
> @@ -263,12 +263,12 @@ SIZE-VAR is supplied, it will be bound to SIZE during BODY."
>           :unsigned-long) 'integer)
>         (:float 'single-float)
>         (:double 'double-float)
> -        (:foreign-address :foreign-address)
> +        (:foreign-address 'integer)
>         (:void 'null))))

This change is somewhat unexpected, is it really necessary?


>  (defun foreign-allegro-type (type)
>   (if (eq type :foreign-address)
> -      nil
> +      :unsigned-nat
>       type))
>
>  (defun allegro-type-pair (type)

Does it work if you use :FOREIGN-ADDRESS instead of :UNSIGNED-NAT in
FOREIGN-ALLEGRO-TYPE?

I'm asking these questions because I suspect both changes break with
older versions of Allegro but I can't test it since the express
edition 7.0 is no longer available. It's probably not a big deal but
I'd like to at least try to maintain compatibility.

-- 
Luís Oliveira
http://student.dei.uc.pt/~lmoliv/




More information about the cffi-devel mailing list