[Ecls-list] Adding long long support to FFI.

Goffioul Michael goffioul at imec.be
Mon May 8 00:36:01 UTC 2006


> On 3 May 2006, at 0:06, Goffioul Michael wrote:
> 
> > (Not sure about the following, because I'm using ECL under Windows) 
> > Isn't there a rounding problem when calling make_integer 
> with a long 
> > long argument? This function is defined on cl_fixnum, but to which 
> > type cl_fixnum is typedef'ed on your system?
> 
> So, it makes sense to me that this would be a problem, but 
> does ECL support no platforms on which long is larger than 
> int? If it does, it seems like these existing lines would 
> also be a problem:
> 
> 	ECL_SET(@'si::c-long-max', make_integer(LONG_MAX));
> 	ECL_SET(@'si::c-long-min', make_integer(LONG_MIN));
> 
> or is there something else I'm not seeing?

Looking at the configuration script (and following the ECL internal
representation of objects), I think that cl_fixnum is typedef'ed to
something that can fit into an address (void*). The question is then
"does a LONG always fit into an address?". I'm not a platform expert,
so I can't tell if such cases exist.

Michael.




More information about the ecl-devel mailing list