[Ecls-list] Can we add "long long" support to ECL on Linux/x86?

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Mon Mar 2 11:22:03 UTC 2009


> Would it be possible to merge this patch with the current ECL main code
> base?

I must say that there is a larger fix being worked on, which involves
support for [u]int{8,16, 32, 64}_t, and [unsigned] long long, first at
the level of lisp arrays and then in the compiler and in the FFI.

> One caveat: I have not implemented "long long" on lisp callbacks yet but
> I have an idea as to how to do it simply and quickly.  To make sure I would
> need to know what Lisp type would be converted to "long long" on callback
> return.  Is it only fixnum or am I missing something else?

Right now it does not work well because the conversion routines are
missing. The code that is slowly being added to the new_cfun branch
contains routines to convert lisp objects into C integers and back,
including support for other sizes different from cl_fixnum/cl_index,
which was currently missing.

> P.S.: The :long-long in *features* is just a quick and dirty way to identify
> that this instance of ECL has "long long" support.

This will be added as well, together with optional features named
:uint16-t, :uint32-t and :uint64-t that mark the existence of these
(and the corresponding unsigned) types.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the ecl-devel mailing list