Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jan 2011 12:15:46 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Roman Divacky <rdivacky@freebsd.org>
Subject:   Re: svn commit: r217538 - in head/sys/dev: buslogic cs
Message-ID:  <201101181215.46266.jhb@freebsd.org>
In-Reply-To: <20110119035030.W2099@besplex.bde.org>
References:  <201101181523.p0IFNGeB042079@svn.freebsd.org> <20110119035030.W2099@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, January 18, 2011 12:00:44 pm Bruce Evans wrote:
> On Tue, 18 Jan 2011, John Baldwin wrote:
> 
> > Log:
> >  Remove some always-true comparisons.
> >
> >  Submitted by:	clang via rdivacky
> > 
> > Modified: head/sys/dev/buslogic/bt.c
> > 
==============================================================================
> > --- head/sys/dev/buslogic/bt.c	Tue Jan 18 14:58:44 2011	(r217537)
> > +++ head/sys/dev/buslogic/bt.c	Tue Jan 18 15:23:16 2011	(r217538)
> > @@ -975,7 +975,7 @@ bt_find_probe_range(int ioport, int *por
> > int
> > bt_iop_from_bio(isa_compat_io_t bio_index)
> > {
> > -	if (bio_index >= 0 && bio_index < BT_NUM_ISAPORTS)
> > +	if (bio_index < BT_NUM_ISAPORTS)
> > 		return (bt_board_ports[bio_index]);
> > 	return (-1);
> > }
> 
> So, what guarantees that isa_compat_io_t is unsigned and will remain so?
> Indexes should be ints, unless you want a sign morass.

Gah, I trusted the clang warning too much.  enum's are ints in C yes?  So 
clang has a bug if it thinks an enum value cannot be negative.  In practice 
all the callers of this routine do not pass in negative values, but the 
compiler shouldn't warn about enum's bogusly.

Is clang assuming that only defined values for an enum are ever passed in?  If 
so we probably don't want to turn that checking on for the kernel as we 
violate that in lots of places.

-- 
John Baldwin



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