> On 3 May 2006, at 0:06, Goffioul Michael wrote:
> > (Not sure about the following, because I'm using ECL under Windows)=20
> > Isn't there a rounding problem when calling make_integer=20
> with a long=20
> > long argument? This function is defined on cl_fixnum, but to which=20
> > type cl_fixnum is typedef'ed on your system?
> So, it makes sense to me that this would be a problem, but=20
> does ECL support no platforms on which long is larger than=20
> int? If it does, it seems like these existing lines would=20
> 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.