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


Paul Schlie <schlie@comcast.net> writes:

| > 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;

Pointers-to-object comparaison make sense (from the relevant standards
point of view) only if they

  (i)   point into the same object; or
  (ii)  are (or one of them is) one-past-the-end of the same object; or
  (iii) are (or one of them is) null.

You then realize that if the pointers are not of the same type or cannot be
implicitly converted to each other, then the comparison become
invalid.

-- Gaby


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