Re: [Mingw-w64-public] x64 can't cast ptr to DWORD

2010-02-25 Thread Jim Michaels
the definition of DWORD_PTR is an __int64 * look at the 64-bit target compiler definitions. can't use. and I'll betcha the ptr itself is 64-bit. so yeah, ifdef _WIN64 :-) __MINGW_EXTENSION typedef __int64 INT_PTR,*PINT_PTR; __MINGW_EXTENSION typedef unsigned __int64 UINT_PTR,*PUINT_PTR;

[Mingw-w64-public] cross compiler uses 32 bits long type and cannot be changed into 64 bits

2010-02-25 Thread Simon de Graaf
Hello, I am working under opensuse and cross compiling for 64 bits Windows. I cannot compile the gmp library because mp_limb_t is 32 bits, because of the 32 bit long type. I have tried to use the -m64 option but it does not work. Why can a long integer not be set to 64 bits? I have used the

Re: [Mingw-w64-public] cross compiler uses 32 bits long type and cannot be changed into 64 bits

2010-02-25 Thread Kai Tietz
2010/2/25 Simon de Graaf s.degr...@tudelft.nl: Hello, I am working under opensuse and cross compiling for 64 bits Windows. I cannot compile the gmp library because mp_limb_t is 32 bits, because of the 32 bit long type.  I have tried to use the -m64 option but it does not work. the variant

Re: [Mingw-w64-public] cross compiler uses 32 bits long type and cannot be changed into 64 bits

2010-02-25 Thread Tor Lillqvist
Why can a long integer not be set to 64 bits? Because long is32 bits in the 64-bit Windows ABI, and in also 64-bit C libraries on Windows. And this is fully legal from a C language point of view. Any code that pretends to be portable but assumes long is 64 bits is simply broken. Code should