[AD] 64bit ready?

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


A quick discussion about LLP64 data models: (correct me if any of this is wrong)

concerning the windows port of allegro:

mingw compiler options say:

-m32
-m64
Generate code for a 32-bit or 64-bit environment. The 32-bit environment sets int, long and pointer to 32 bits and generates code that runs on any i386 system. The 64-bit environment sets int to 32 bits and long and pointer to 64 bits and generates code for AMD's x86-64 architecture.


which is as expected for LP64 .. which linux typically uses for its 64bit environment. (gcc-mingw, being mostly a port from linux-land)
this model has long=64bits.


however, in msvc-land:   LLP64 is used..     long=32bits

so depending on which compiler you use, long changes its length.

Has this situation been covered in future allegro designs?
Is there a solution for this?

If no solution is currently tabled, would it be appropriate to add ASSERT(sizeof(..)) anywhere potential for problems exists?

aj.




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