This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Warning for different pointer signedness
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: Paul Schlie <schlie at comcast dot net>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Mon, 20 Dec 2004 15:55:11 -0500
- Subject: Re: Warning for different pointer signedness
- References: <BDECA48D.8502%schlie@comcast.net>
On Dec 20, 2004, at 3:47 PM, Paul Schlie wrote:
From: Andrew Pinski <pinskia@physics.uc.edu>
Wrong, wrong, wrong, the change only moved a warning from -pedantic
to always on, in fact some compilers reject the code as it is invalid
c.
-- Pinski
Which seems odd given (signed xxx *) and (unsigned xxx *) will always
be
guaranteed to be pointers to the exact same size and aligned storage
units;
(therefore at best, seems like a mistake to consider them incompatible
objects for the purpose of comparison, as no possible ambiguity
exists).
The warning is only there for an implicit conversions nothing else, if
you
add a cast it will not warn. Well this is what the C standard say so
you are wrong again.
6.3.2.3 describes the conversions. Again this is invalid C (and C++ in
fact) so a warning is correct.
The only implicit conversion for pointers in C is to and from void*.
-- Pinski