signed vs unsigned pointer warning
Joe Buck
Joe.Buck@synopsys.COM
Thu Sep 23 18:57:00 GMT 2004
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.
More information about the Gcc
mailing list