Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 May 2003 23:34:18 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Dag-Erling Smorgrav <des@ofug.org>
Cc:        hackers@freebsd.org
Subject:   Re: incorrect enum warning?
Message-ID:  <20030501213418.GA42794@falcon.midgard.homeip.net>
In-Reply-To: <xzpr87ipefn.fsf@flood.ping.uio.no>
References:  <xzp7k9a67pf.fsf@flood.ping.uio.no> <20030501150713.GA34992@madman.celabo.org> <20030501152022.GC568@wombat.fafoe> <xzpr87ipefn.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 01, 2003 at 11:03:40PM +0200, Dag-Erling Smorgrav wrote:
> Stefan Farfeleder <stefan@fafoe.dyndns.org> writes:
> > Because 0x80000000 > INT_MAX on 32-Bit architectures, 0x80000000 has
> > type unsigned.  But enumeration constants always have type int, that's
> > why you're getting this warning.
> 
> but 0x80000000 == INT_MIN on 32-bit two's complement systems...

No. 0x80000000 has type unsigned int (assuming 32-bit int) and is thus
a large positive number.  INT_MIN has type signed int and is a negative
number.  The fact that they happen to have the same representation does
not mean they are the same thing.


-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030501213418.GA42794>