[ 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.