[physfs] Re: more warnings

Dennis Schridde devurandom at gmx.net
Sat Mar 8 15:06:32 EST 2008


Am Samstag, 8. März 2008 20:45:46 schrieb Dennis Schridde:
> Am Samstag, 8. März 2008 20:08:53 schrieb Dennis Schridde:
> > After working around the visibility warning, I get more warnings in the
> > windows platform code:
> >
> > /home/devpkg/src/physfs-svn/platform/windows.c: In function
> > ‘findApiSymbols’: /home/devpkg/src/physfs-svn/platform/windows.c:287:
> > warning: dereferencing type-punned pointer will break strict-aliasing
> > rules /home/devpkg/src/physfs-svn/platform/windows.c:292: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:298: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:299: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:300: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:301: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:302: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:303: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:304: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:305: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:306: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:307: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:308: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c:309: warning:
> > dereferencing type-punned pointer will break strict-aliasing rules
> > /home/devpkg/src/physfs-svn/platform/windows.c: In
> > function ‘__PHYSFS_platformSeek’:
> > /home/devpkg/src/physfs-svn/platform/windows.c:1115: warning: pointer
> > targets in passing argument 3 of ‘SetFilePointer’ differ in signedness
> > /home/devpkg/src/physfs-svn/platform/windows.c: In
> > function ‘__PHYSFS_platformTell’:
> > /home/devpkg/src/physfs-svn/platform/windows.c:1135: warning: pointer
> > targets in passing argument 3 of ‘SetFilePointer’ differ in signedness
>
> Conforming to http://msdn2.microsoft.com/en-us/library/aa365541.aspx I
> fixed the last two warnings like this:
>
> Index: platform/windows.c
> ===================================================================
> --- platform/windows.c  (revision 930)
> +++ platform/windows.c  (working copy)
> @@ -1089,8 +1089,8 @@
>  int __PHYSFS_platformSeek(void *opaque, PHYSFS_uint64 pos)
>  {
>      HANDLE Handle = ((WinApiFile *) opaque)->handle;
> -    DWORD HighOrderPos;
> -    DWORD *pHighOrderPos;
> +    LONG HighOrderPos;
> +    PLONG pHighOrderPos;
>      DWORD rc;
>
>      /* Get the high order 32-bits of the position */
> @@ -1127,7 +1127,7 @@
>  PHYSFS_sint64 __PHYSFS_platformTell(void *opaque)
>  {
>      HANDLE Handle = ((WinApiFile *) opaque)->handle;
> -    DWORD HighPos = 0;
> +    LONG HighPos = 0;
>      DWORD LowPos;
>      PHYSFS_sint64 retval;
>
>
> The type-punning warnings are more difficult to fix, since they all are
> created by the LOOKUP and LOOKUP_NOFALLBACK macros. Will take me a bit more
> time...
I did not get very far, but attached my patch anyway.
Hope someone can take it further.
(It includes the pointer signing patch from above.)

--Dennis
-------------- next part --------------
A non-text attachment was scrubbed...
Name: no_type_punning.patch
Type: text/x-diff
Size: 1890 bytes
Desc: not available
URL: <http://icculus.org/pipermail/physfs/attachments/20080308/92f01be1/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://icculus.org/pipermail/physfs/attachments/20080308/92f01be1/attachment.pgp>


More information about the physfs mailing list