[ros-dev] [ros-diffs] [hyperion] 38872: Warning killing commit modified include/psdk/basetsd.h modified include/psdk/windef.h modified include/psdk/winnt.h Introduce new define __ROS_LONG64__ ("assume 64-bit long"), to use int instead of long in typedefs of 32-bit integers __ROS_LONG64__ automatically defined if __WINESRC__ is defined. No, __WINESRC__ alone is not enough modified base/applications/winhlp32/winhlp32.rbuild modified base/applications/wordpad/wordpad.rbuild Compile with __ROS_LONG64__ define to silence int/long warnings modified include/psdk/winsock.h modified include/psdk/winsock2.h __ROS_LONG64__ does Winsock too Use LONG and u_long instead of long and unsigned long, to take advantage of __ROS_LONG64__ modified include/reactos/wine/test.h Use explicit casts in printf calls so the header compiles without warnings regardless of whether __ROS_LONG64__ is defined Use _strdup instead of strdup modified include/psdk/sspi.h modified include/psdk/wininet.h Use LONG and ULONG instead of long and unsigned long, to take advantage of __ROS_LONG64__ modified include/psdk/htmlhelp.h modified include/psdk/lmaccess.h modified include/psdk/prsht.h modified include/psdk/vfw.h modified include/psdk/winuser.h By sheer coincidence, several wrong prototypes were uncovered by the __ROS_LONG64__ feature. They all happen to be 64-bit portability issues, too modified base/system/msiexec/msiexec.rbuild msiexec is a Wine system component: compile with __WINESRC__ modified dll/win32/setupapi/setupapi.rbuild setupapi is _not_ a Wine system component: compile _without_ __WINESRC__ modified lib/3rdparty/libwine/debug.c Use LONG instead of long modified dll/win32/advapi32/service/sctrl.c modified include/psdk/winsvc.h Fix prototypes of StartServiceCtrlDispatcherA and StartServiceCtrlDispatcherW modified include/psdk/winbase.h Corrected the prototypes of GetProcessAffinityMask and ReadProcessMemory. Now Win64-compliant The argument to the _InterlockedCompareExchange is volatile long *, not volatile LONG *: cast explicitly (it's perfectly safe) modified include/psdk/wingdi.h Fix prototype of ENHMFENUMPROC
KJK::Hyperion
hackbunny at reactos.com
Sun Jan 18 17:05:18 CET 2009
Timo Kreuzer wrote:
> If it's defined automatically, why isn't __WINESRC__ alone enough?
Because __WINESRC__ is for system code. It will, for example, force you
to choose between A/W, disabling the generic name. Wine non-system code
(like winetests) doesn't compile if __WINESRC__ is defined
> And when it's not enough anyway, why define __ROS_LONG64__ automatically at
> all?
The hope is someone will follow up with a cleaner commit that defines
__ROS_LONG64__ automatically in a single place, instead of in every
header that uses it
> If we assume a 64bit long, why define INT_PTR to long on 32 bit target?
Because that's what Wine does on 32 bit targets. Don't ask me why. If
you can think of a better way, you have commit access
More information about the Ros-dev
mailing list