Messages in this thread | | | From | Johannes Weiner <> | Subject | Re: optimizing out inline functions | Date | Thu, 29 May 2008 05:27:23 +0200 |
| |
Hi,
James Kosin <jkosin@beta.intcomgrp.com> writes:
> Sam Ravnborg wrote: >> On Wed, May 28, 2008 at 02:51:02PM -0500, Steve French wrote: >>> In trying to remove some macros, I ran across another kernel style > <<--SNIP-->> >> With reference to a recent thread about kconfig >> I would prefer: >> static inline void some_debug_function(var1) >> { >> if (KCONFIG_DEBUG_SOMETHING) { >> something = var1; >> printk(some debug text); >> } >> } >> >> >> But we do not have KCONFIG_DEBUG_SOMETHING available >> so the second best is to use an empty function >> to keep the typechecking in place. >> >> IIRC gcc optimize both away. > > Another way would be to have: > > static inline void some_debug_function(var1) > { > #ifdef KCONFIG_DEBUG_SOMETHING > something = var1; > printk(some debug text); > #endif > } > > BUT, this probably violates some styling rules.
Without indenting the ifdefs, I think this solution is the best.
It gives you the advantages of type checking but saves a superfluous prototype.
Hannes
| |