On Sat, Dec 30, 2006 at 08:57:12PM -0500, Richard Kenner wrote: > > I suppose there is > > > > *hv = (HOST_WIDE_INT) -(unsigned HOST_WIDE_INT) h1; > > > > to make it safe. > > Can't that conversion overflow?
Not on a two's complement machine, and I know of no gcc ports to a non-two's-complement host machine. unary minus is well-defined for all unsigned values even on non-two's-complement machines, but for those we'd have to worry about the mapping between unsigned and signed types.