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>