[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