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.043 / U:29.936 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site