[cffi-devel] Support for long-longs on Allegro 64-bit

John Fremlin jf at msi.co.jp
Thu Aug 20 02:34:09 UTC 2009


On Allegro the feature  
   (pushnew 'no-long-long *features*)
is always set.

The no-long-long feature is incredibly broken on 64-bit Linux, as it
assumes that a long is 32-bits when it is actually 64-bits. This causes
very hard crashes (Allegro's strange SIGEMT).

64-bit Allegro can handle long-longs. On Linux an long is a long-long,
but on MS Windows a long is an int. Therefore we use the :nat and
:unsigned-nat types which are consistently 64-bit.

Here is a patch to correct it; I think I munged the beautiful whitespace
though (with my proportional width font it looks munged anyway . . .).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: cffi-allegro-long-long.patch
Type: text/x-diff
Size: 606 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20090820/0eb0ad93/attachment.patch>


More information about the cffi-devel mailing list