[Ecls-list] ECL trunk fails to build on an x86_64 system
Gabriel Dos Reis
gdr at integrable-solutions.net
Fri Jan 16 16:27:48 UTC 2009
On Fri, Jan 16, 2009 at 3:05 AM, Juan Jose Garcia-Ripoll
<juanjose.garciaripoll at googlemail.com> wrote:
> On Fri, Jan 16, 2009 at 5:07 AM, Gabriel Dos Reis
> <gdr at integrable-solutions.net> wrote:
>
>> Indeed the macro IO_FILE_DESCRIPTOR (defined in h/internal.h)
>>
>> #define IO_FILE_DESCRIPTOR(strm) (int) ((strm)->stream.file)
>>
>> is doing that. I don't see any immediate reason for that cast
>> to be OK on x86_64 systems given the fact that the field 'file' is
>> declared of type void*. Am I looking at the wrong definition?
>
> I would say so. That cast is done because this field holds at most an
> integer (it is the output of open()).
So, how it is that GCC is complaining about casting a *pointer*
to an integer of the wrong size? Which file contains the right
definition I should be looking into?
By the way, CVS ECL fails to build on *all* my x86_64 machines.
However, the 8.12.0 builds just fine.
Best,
-- Gaby
More information about the ecl-devel
mailing list