Re: [PATCH] Documentation/CodingStyle: Mention multi-line macrosusing expressions

From: Joe Perches
Date: Wed Jul 11 2012 - 14:14:46 EST


On Wed, 2012-07-11 at 13:32 -0400, Robert P. J. Day wrote:
[]
> diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
[]
> +A newer technique is to use the GCC extension of being able to place
> +statements and declarations in an expression, as with this example from
> +the <linux/kernel.h> header file:
> +
> +#define roundup(x, y) ( \
> +{ \
> + const typeof(y) __y = y; \
> + (((x) + (__y - 1)) / __y) * __y; \
> +} \
> +)

Hi Robert.

How about the phrase "GCC's statement expression extension"
or maybe give a link like:
http://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html

Please put the opening ({ and closing )} on a single line.
It's shorter and makes grep easier.

#define statement_expression(args) \
({ \
etc \
})


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