Re: 2.4.9 does not compile [PATCH]

Andi Kleen
2001-08-17T08:43:38Z

"David S. Miller" <davem@redhat.com> writes:

> From: Andrew Morton <akpm@zip.com.au>
> Date: Thu, 16 Aug 2001 18:49:58 -0700
>
> int test(int __x, int __y)
> {
> return min(__x, __y); /* sic */
> }
>
> People are expected not to use underscore prefixed
> variables in normal C code, this is why macros
> in the kernel make liberal use of them for locals.

You are joking, right? The kernel is full of double under score prefixed
identifiers, for functions that do slighter lower level things than others.
While this expectation may exist in POSIX/C89 and is frequently violated there,
in kernel C nobody cares about it at all.

It doesn't matter anyways, the way C macro expansion works guarantees that
only macro arguments written in the macro get expanded; the arguments are not
recursively expanded. Therefore any games with "magic" macro names
is totally unnecessary.

-Andi