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: signed vs unsigned pointer warning


On Thu, Sep 23, 2004 at 12:35:22PM +0100, Dave Korn wrote:
> > "Dave Korn" writes:
> > 
> > > Which I don't think you can, since you can't store negative numbers
> > > in an unsigned type. 
> > 
> > Actually you can, due to the modulo behaviour of unsigned integers.
> > 
> > Andreas.
> 
>   Well, yes, it is physically possible, but it's a kind of type-punning, it
> defies the aliasing rules, and we get into some very deeply
> language-lawyerly issues here, but it's not a valid representation IIUIC and
> therefore invokes undefined behaviour in many circumstances.

The C aliasing rules specifically bless accessing ints as unsigneds, and,
more generally, punning accesses between any type and the unsigned version
of that type.


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