Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jun 2006 15:04:40 -0400 (EDT)
From:      "Andrew R. Reiter" <arr@watson.org>
To:        Yar Tikhiy <yar@comp.chem.msu.su>
Cc:        Poul-Henning Kamp <phk@phk.freebsd.dk>, arch@freebsd.org
Subject:   Re: SET, CLR, ISSET in types.h for _KERNEL builds
Message-ID:  <20060628150227.R75801@fledge.watson.org>
In-Reply-To: <20060628174725.GA57252@comp.chem.msu.su>
References:  <20060628094221.GA50978@comp.chem.msu.su> <75461.1151488426@critter.freebsd.dk> <20060628100824.GA1326@duncan.reilly.home> <20060628174725.GA57252@comp.chem.msu.su>

next in thread | previous in thread | raw e-mail | index | archive | help

I apologize for top posting, but I lost the email that I think my 
point/question pertains to.

Part of this seems to be for compatibility / merging from drivers of other 
OSes, no?  If I am wrong, ignore me :-).  If this is the case, would it be 
better to create some common other area for things of this nature so that 
it suffices to allow builds, but does not infect other areas of our own 
code base?

Could be a poor idea, but just throwing it out there for the fsck of it.

Cheers,
Andrew

On Wed, 28 Jun 2006, Yar Tikhiy wrote:

:On Wed, Jun 28, 2006 at 08:08:24PM +1000, Andrew Reilly wrote:
:> On Wed, Jun 28, 2006 at 09:53:46AM +0000, Poul-Henning Kamp wrote:
:> > In message <20060628094221.GA50978@comp.chem.msu.su>, Yar Tikhiy writes:
:> > >On Tue, Jun 27, 2006 at 01:58:17PM -0600, M. Warner Losh wrote:
:> > 
:> > >> NetBSD recently added SET, CLR, ISSET to sys/types.h (only if _KERNEL
:> > >> is defined).
:> > 
:> > As one of the people who have worked with the original /bin/sh source
:> > code, I have a slight alergic reaction to attempts to paste over
:> > the implementation language with macros like these.
:> > 
:> > Setting a bit in 'C' is spelled 
:> > 	variable |= bit;
:> > not
:> > 	SET(variable, bit);
:> 
:> To my eye, if you're going to use "bit" to describe which bit is
:> being operated on, then you should *really* be doing:
:> 	variable |= (1 << bit)
:> and, obviously, SET(variable, bit) should do that, rather than
:> what has been proposed.
:
:That would require converting our device .h files from defining bit
:masks to defining bit numbers.  I don't mind you doing that as long
:as SET is expanded to:
:
:	((variable) |= (1 << (bit)))
:
:-- note the bunch of roughly balanced parentheses ;-)
:
:-- 
:Yar
:_______________________________________________
:freebsd-arch@freebsd.org mailing list
:http://lists.freebsd.org/mailman/listinfo/freebsd-arch
:To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
:
:

--
arr@watson.org



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