"Dimitrie O. Paun" dpaun@rogers.com writes:
-- Why do we need this undef? include/objidl.h:#ifdef __WINESRC__ include/objidl.h-#undef GetObject include/objidl.h-#endif
Because GetObject is a WINELIB_NAME_AW #define, and these cause a (deliberate) syntax error when building Wine.
-- Why are these Wine specific? include/winbase.h:#ifdef __WINESRC__ include/winbase.h-#define GetCurrentProcess() ((HANDLE)0xffffffff) include/winbase.h-#define GetCurrentThread() ((HANDLE)0xfffffffe) include/winbase.h-#endif
That's simply an optimization; maybe we could use an inline function instead.
-- This one's a bugger. It make no sense to define these things conditionally on the -- version of the compiler. One's code is written one way or another. -- I suggest we remove these completely, and we defined the NONAMELESS* explicitly -- in the files that need them.
The idea is that you can then use the NONAMELESS defines to write more portable code, without having to duplicate the compiler checks. So the user's code can do something like:
#include <winnt.h> #ifdef NONAMELESSUNION #define U(x) u.x #else #define U(x) x #endif