[cffi-devel] [PATCH] 64-bit support for Allegro, and allocate stack objects in the static area
John Fremlin
jf at msi.co.jp
Thu Jan 8 01:11:09 UTC 2009
Why are you ignoring this patch?
On Mon, 5 Jan 2009 12:48:13 +0900, John Fremlin <jf at msi.co.jp> wrote:
> On Mon, 5 Jan 2009 03:14:13 +0000, "Luís Oliveira" <luismbo at gmail.com> wrote:
>
> > 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?
>
> Yes.
>
> It is needed because now foreign-allegro-type does not return nil
> for :foreign-address, and so Allegro will actually check the second
> value from allegro-type-pair (which it ignored before because the first
> value was nil).
>
> > > (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?
>
> No, that's the first thing I tried
>
> > 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.
>
> There is no :foreign-address type in Allegro 8.1?
>
> It is a very strange idea that there ever would be such a type. . .
>
> http://www.franz.com/support/documentation/current/doc/ftype.htm
>
More information about the cffi-devel
mailing list