lkml.org 
[lkml]   [2005]   [Sep]   [19]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromNikita Danilov <>
DateTue, 20 Sep 2005 01:10:22 +0400
SubjectRe: I request inclusion of reiser4 in the mainline kernel
Stephen Pollei writes:
 > On 9/18/05, Nikita Danilov <nikita@clusterfs.com> wrote:
 > > Denis Vlasenko writes:
 > >  > On Friday 16 September 2005 20:05, Hans Reiser wrote:
 > >  > You can declare functions even if you never use them.
 > >  > Thus here you can avoid using #if/#endif:
 > > It's other way around: declaration is guarded by the preprocessor
 > > conditional so that nobody accidentally use znode_is_loaded() outside of
 > > the debugging mode.
 > Except it doesn't disallow someone from using znode_is_loaded, if you
 > wanted to do that you would have done

I just described why conditionals are used here. You can trust me: I
wrote that code. :-)

 > #if defined(REISER4_DEBUG) || defined(WHATEVER_ELSE)
 > int znode_is_loaded(const znode * node /* znode to query */ );
 > #else
 > #define znode_is_loaded(I_dont_care_you_are_going_to_) \
 >    } )die(]0now[>anyway<}}}}}}*bye*}
 > #endif
 > That way instead of silently(or -Wmissing-prototypes gving a warning)
 > quessing at a prototype and *maybe* geting a link time error, you get
 > a nice compile-time bomb-out.

Maybe, but kernel developers are supposed to watch for compiler
messages. People who use that technique definitely do.

 > 
 > So unless you have -Wmissing-prototypes and -Werror set then your
 > #if/#endif does very little indeed, especially with the size of kernel
 > it's easy to ignore yet another warning even if the missing-prototype
 > warning was set.

It's enough to monitor your own code, rather than the whole kernel.

Nikita.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-09-19 23:12    [from the cache]
©2003-2008