Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jul 2013 15:17:49 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        obrien@freebsd.org
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r253618 - head/sys/dev/usb/gadget
Message-ID:  <201307301517.49989.jhb@freebsd.org>
In-Reply-To: <20130730190207.GC63635@dragon.NUXI.org>
References:  <201307241832.r6OIWFGc074918@svn.freebsd.org> <201307241529.35175.jhb@freebsd.org> <20130730190207.GC63635@dragon.NUXI.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, July 30, 2013 3:02:07 pm David O'Brien wrote:
> On Wed, Jul 24, 2013 at 03:29:34PM -0400, John Baldwin wrote:
> > On Wednesday, July 24, 2013 2:32:15 pm David E. O'Brien wrote:
> > >   per style(9):
> > >      Kernel include files (i.e. sys/*.h) come first; normally, include
> > >      <sys/types.h> OR <sys/param.h>, but not both.  <sys/types.h> includes
> > >      <sys/cdefs.h>, and it is okay to depend on that.
> > 
> > This is not fully correct.  The consistent style throughout the tree when
> > using _FBSDID() is:
> > 
> > #include <sys/cdefs.h>
> > __FBSDID()
> > 
> > #include <sys/param.h>
> > ...
> > 
> > Please fix these to match that.  It might not be a bad idea to document the
> > __FBSDID() practice in style.9 while you are at it.
> 
> Hi John,
> As BDE mentioned, the text [still] says it is OK to depend on
> <sys/types.h> and <sys/param.h> including <sys/cdefs.h>.

He also noted that the <sys/cdefs.h> style is documented by example, and
that much of style(9) is done by example.

> I was one of the ones that put __FBSDID() in much of our code.  I used
> a script to add the two lines:
> 	#include <sys/cdefs.h>
> 	__FBSDID("$FreeBSD$");
> 
> I did it this way so as to not break the "but not both" rule for
> <sys/types.h> and <sys/param.h>.  In otherwords my script wasn't
> smart enough to see if <sys/param.h> or <sys/types.h> was already
> being included and put the '__FBSDID("$FreeBSD$");' right below it.
> 
> I don't feel 
> 	#include <sys/param.h>
> 	__FBSDID("$FreeBSD$");
> 
> 	#include <sys/___.h>
> 
> is against style(9).

Nothing else uses this style, and a whole lot of code does use the other
convention.  At this point the other convention is the de facto style.
If that is the consequence of your script, so be it.  At this point that
is a whole lot of water under the bridge, and the most readable thing is
to be consistent with all the other code in the tree, not start a new
pattern.

-- 
John Baldwin



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