On Wed, 2006-10-18 at 07:57 +1000, David Chinner wrote:
> On Tue, Oct 17, 2006 at 05:13:01PM +1000, Tim Shimmin wrote:
> > --On 17 October 2006 10:50:38 AM +1000 David Chinner <dgc@xxxxxxx> wrote:
> > >Fix them - inline functions in header files should always be "static
> > >inline". Inline functions in .c files should always be static as
> > >well - if they need to be accessed from different source files then
> > >they need to be in header files. Hence "STATIC inline" is broken
> > >code and should be fixed anyway. Luckily, there are very few of
> > >these to fix and they are all in .c files:
> > >
> > >chook 137% grep -rIw "STATIC inline" fs/xfs | wc -l
> > >21
> > So you are saying that "static inline"s should always be.
> > So for CONFIG_XFS_DEBUG where we define STATIC and so make static
> > disappear for uses of STATIC, we will no longer touch these
> > "static inline" functions.
> Yup. The function will still get inlined, so changing it's scope on
> debug builds doesn't provide any benefit IMO. FWIW, for debug
> builds we probably want noinline....
> > I thought that for debug, we could stop them from being inline
> > for easier debugging. We could have a STATIC_INLINE :-)
> We could, but I don't think it gains us anything.
I agree with Tim on this.
when I see STATIC in the code it's generally assumed to
be a way to toggle of static on/off. Adding static inline
to the #define STATIC starts to overload the the macro
and creates an obfuscation that isn't immediately obvious.
STATIC_INLINE should be fairly obvious.
Russell Cattelan <cattelan@xxxxxxxxxxx>
Description: This is a digitally signed message part