[PATCH] Cast small-int values through intptr_t when they're passed as pointers.
Eric Anholt
eric at anholt.net
Mon Oct 5 19:08:19 PDT 2009
On Mon, 2009-10-05 at 15:35 -0400, Adam Jackson wrote:
> On Sun, 2009-10-04 at 12:08 +1100, Daniel Stone wrote:
> > On Fri, Oct 02, 2009 at 01:42:50PM -0700, Jamey Sharp wrote:
> > > On 64-bit systems, int and pointers don't have the same size, so GCC gives
> > > warnings about casts between int and pointer types. However, in the cases
> > > covered by this patch, it's always a value that fits in int being stored
> > > temporarily as a pointer and then converted back later, which is safe.
> > > Casting through the pointer-sized integer type intptr_t convinces the
> > > compiler that this is OK.
> > >
> > > Signed-off-by: Jamey Sharp <jamey at minilop.net>
> >
> > Alan, Matthieu -- is this portable enough?
>
> intptr_t is part of stdint.h in C99, but seems to also be in unistd.h in
> UNIX98, which is nearly universal by this point unlike C99.
>
> I would love love love to see us move entirely to stdint types instead
> of the mess we've got now.
Yes. Yes yes yes.
--
Eric Anholt
eric at anholt.net eric.anholt at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://lists.x.org/archives/xorg-devel/attachments/20091005/ce3f2fbd/attachment.pgp
More information about the xorg-devel
mailing list