scripts/kernel-doc: handle object-like macros
authorHoria Geanta <horia.geanta@freescale.com>
Sat, 12 Jul 2014 16:55:03 +0000 (09:55 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 12 Jul 2014 18:30:36 +0000 (11:30 -0700)
commitcbb4d3e6510b99522719c5ef0cd0482886a324c0
tree862d33180349189935e7d37b56df90f3b984e3de
parentc8c3f7d621c1dd803e92d4cdd59e2f730be71a2b
scripts/kernel-doc: handle object-like macros

Object-like macros are different than function-like macros:
https://gcc.gnu.org/onlinedocs/cpp/Object-like-Macros.html
https://gcc.gnu.org/onlinedocs/cpp/Function-like-Macros.html

They are not parsed correctly, generating invalid intermediate
files (xmls) for cases like:
    #define BIT_MASK    (0xFF << BIT_SHIFT)
where "OxFF <<" is considered to be parameter type.

When parsing, we can differentiate beween these two types of macros by
checking whether there is at least one whitespace b/w "#define" and
first opening parenthesis.

Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
scripts/kernel-doc