[Ecls-list] ECL on LLP64 machines

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Wed Aug 11 08:41:51 UTC 2010


Hi Gabriel,

ECL just needs an integer type that fits a pointer. That type is used
for defining cl_fixnum / cl_index, and in various places you will find
conversions to and from cl_object. In the LLP model, which I did not
know of until now  (*), both "int" and "long" are 32-bit and pointers
are 64-bits, which means they can not be used to implement cl_fixnum /
cl_integer.  If you find time, ECL's autoconf may be fixed to add that
additional type to the list of candidates for cl_fixnum / cl_integer.

Juanjo

(*) From a lot of code out there I gave for granted that "long" must
be long enough to fit a pointer, which is why ECL's autoconf just uses
"int" and "long" as candidates for cl_fixnum.  This is probably a too
old assumption, but I fail to see the utility of the LLP model given
that :-/

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




More information about the ecl-devel mailing list