Subject: Re: [PATCH v2] commit-slab: declare functions "static inline"

From: Jonathan Nieder <[email-masked]>
Date: Mon, 25 Nov 2013 12:12:00 -0800

Thomas Rast wrote:

> This shuts up compiler warnings about unused functions.

If that is the only goal, I think it would be cleaner to use

	#define MAYBE_UNUSED __attribute__((__unused__))

	static MAYBE_UNUSED void init_ ...

like was done in the vcs-svn/ directory until cba3546 (drop obj_pool,
2010-12-13) et al.

I haven't thought carefully about whether encouraging inlining here
(or encouraging the reader to think of these functions as inline) is a
good or bad change.

[...]
> @@ -98,4 +98,16 @@ struct slabname {							\
>  									\
>  static int stat_ ##slabname## realloc
>  
> +/*
> + * Note that this seemingly redundant second declaration is required
> + * to allow a terminating semicolon, which makes instantiations look
> + * like function declarations.  I.e., the expansion of

Micronit: this reads more clearly without the "Note that".  That is,
the comment can get the reader's attention more easily by going right
into what it is about to say without asking for the reader's
attention:

	/*
	 * This seemingly redundant second declaration is required to ...

Thanks,
Jonathan