2008/11/4 Francois Gouget fgouget@free.fr:
On Tue, 4 Nov 2008, Stefan Dösinger wrote: [...]
I think we still have the problem that gcc doesn't support the calling convention Win64 uses, so we can't compile a Wine that is compatible with Win64 apps.
In the meantime we can work on the long vs. LONG issue:
- there are a number of places where the Windows SDK uses 'long'. But
on Win64 'long' is 32bit, while every other 64bit platform treats it as 64bit.
- in Wine's headers and in the code there are plenty of places where we
use long where we really want a 32bit integer for 64bit.
The fix for all these is to replace 'long' with 'LONG' which Wine keeps 32bit just like Windows (though I wonder if we should not use something lile 'wine_long' instead).
This is not awfully complex stuff but there's a ton of it. So we might as well start now so that we're ready when the time comes.
Don't forget that you should use the *_PTR types for data that can hold pointers (LONG_PTR, DWORD_PTR and the like).
- Reece