lkml.org 
[lkml]   [2008]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: optimizing out inline functions
Johannes Weiner wrote:
> 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
>
>
Actually, Joe Perches, gave a good reason for using the MACRO #define
method; so, this could really turn into an interesting discussion.
Pros and Cons are always interesting when there is more than one way to
do something.

James

[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2008-05-29 15:17    [W:0.199 / U:0.224 seconds]
©2003-2014 Jasper Spaans. Advertise on this site