Date: Wed, 28 Jun 2006 12:22:22 -0700 From: Julian Elischer <julian@elischer.org> To: "Andrew R. Reiter" <arr@watson.org> Cc: Yar Tikhiy <yar@comp.chem.msu.su>, Poul-Henning Kamp <phk@phk.freebsd.dk>, arch@freebsd.org Subject: Re: SET, CLR, ISSET in types.h for _KERNEL builds Message-ID: <44A2D6EE.8080902@elischer.org> In-Reply-To: <20060628150227.R75801@fledge.watson.org> References: <20060628094221.GA50978@comp.chem.msu.su> <75461.1151488426@critter.freebsd.dk> <20060628100824.GA1326@duncan.reilly.home> <20060628174725.GA57252@comp.chem.msu.su> <20060628150227.R75801@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Andrew R. Reiter wrote: >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? > > how about just making a /sys/sys/netbsd_compat.h and /sys/sys/openbsd_compat.h put this sort of thing in there.. >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 >_______________________________________________ >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" > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44A2D6EE.8080902>
