This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Warning for different pointer signedness



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]