Stephen Pollei writes:
> On 9/18/05, Nikita Danilov <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|