[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

Timo Kreuzer timo.kreuzer at web.de
Sun Jan 18 14:31:44 CET 2009


hyperion at svn.reactos.org schrieb:
> Author: hyperion
> Date: Sun Jan 18 00:25:43 2009
> New Revision: 38872
>
>   
...
>    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
>   
If it's defined automatically, why isn't __WINESRC__ alone enough? And
when it's not enough anyway, why define __ROS_LONG64__  automatically at
all?
...
>  #else /*  !_WIN64 */
> +#if !defined(__ROS_LONG64__)
>  typedef int INT_PTR, *PINT_PTR;
>  typedef unsigned int UINT_PTR, *PUINT_PTR;
> +#else
> +typedef long INT_PTR, *PINT_PTR;
> +typedef unsigned long UINT_PTR, *PUINT_PTR;
> +#endif
>   
If we assume a 64bit long, why define INT_PTR to long on 32 bit target?



More information about the Ros-dev mailing list