Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2027543 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Linus Torvalds
Browse files

documentation: update CodingStyle on local variables naming in macros



Describe proper naming convention for local variables in macros
resembling functions.

Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 95d11952
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -659,6 +659,19 @@ macros using parameters.
#define CONSTANT 0x4000
#define CONSTEXP (CONSTANT | 3)

5) namespace collisions when defining local variables in macros resembling
functions:

#define FOO(x)				\
({					\
	typeof(x) ret;			\
	ret = calc_ret(x);		\
	(ret);				\
)}

ret is a common name for a local variable - __foo_ret is less likely
to collide with an existing variable.

The cpp manual deals with macros exhaustively. The gcc internals manual also
covers RTL which is used frequently with assembly language in the kernel.