Re: [AD] allegro doesn't seem to be 64 bit clean.

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


> While compiling allegro 4.1.9 (upgrading our package for the next version
> of SuSE Linux) on the x86-64 (aka AMD Hammer) platform, I got a bunch of
> warnings which I thought might be intertesting for you. I haven't checked
> all warnings, but at least the code in cmp_tab and cmp_shift_tab does seem
> to assume that sizeof(pointer) == sizeof(int).

Thanks for report.

> For ISO C99, the right way would be to include inttypes.h and use
> intptr_t, if that's not available, size_t should be used.

Unfortunately it is out of question to require ISO C99 compliance: Allegro 
4.1.x still supports Watcom 10.6 for example. The standard way to deal with 
pointer<-->integer conversions in the Allegro codebase is to use 'long int'.

> I've also included the warnings on mixing signed and unsigned types
> in comparisons as these too should be checked whether signed or unsigned
> comparisons are wanted in the specific case.

Ok.

> BTW, if there's interest, I have patches available that makes allegro
> require autoconf 2.52 and get rid of acconfig.h by either using
> AH_TEMPLATE or the third argument to AC_DEFINE.

Could you post them to this mailing-list ?

> BTW2, misc/allegro.spec needs a bit cleaning up. docs/makedoc.c has moved
> and explicitely stating things like libc.so.6(GLIBC_2.0) is plain wrong as
> these are determined by 'AutoReqProv: on'.

Ok.

-- 
Eric Botcazou




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/