Mike McCormack wrote:
Robert Shearman wrote:
Why don't we fix the macros as suggested by Francois, rather than preventing its use? It seems like a big waste of time to have submitted all of the patches to the files using windowsx.h when fixing the macros is necessary for Winelib anyway.
No, it's not a waste of time. Having warning free Wine source code is far more important than any warnings that might be in 3rd party winelib code.
Francois' solution is still not perfect, as it requires use of a non-portable C construct.
We're trying to work around GCC warnings that probably aren't generated using any other compiler so using non-portable C constructs is perfectly fine. Here is Francois' solution again:
+#ifndef WINE_CAST +# if __GNUC__ +# define WINE_CAST(ctype, val) ({ctype r=(ctype)(val);r;}) +# else +# define WINE_CAST(ctype, val) ((ctype)(val)) +# endif +#endif
- #define Header_SetImageList(hwnd,himl) \
- (HIMAGELIST)SNDMSGA((hwnd),HDM_SETIMAGELIST,0,(LPARAM)himl)
- WINE_CAST(HIMAGELIST,
SNDMSGA((hwnd),HDM_SETIMAGELIST,0,(LPARAM)himl))
It seemed to be ignored by both you and Alexandre last time it was sent, and all of your patches applied anyway despite objections from several developers.