diff options
author | Daniel Santos <daniel.santos@pobox.com> | 2012-10-04 20:15:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-05 14:05:13 -0400 |
commit | 654784284430bf2739985914b65e09c7c35a7273 (patch) | |
tree | 4da146cf4588d513e1adc2d23297221de1d5b38f /scripts | |
parent | 14864655c0f1fafe690c6a44086e83a4ac08b6f6 (diff) |
kernel-doc: bugfix - multi-line macros
Prior to this patch the following code breaks:
/**
* multiline_example - this breaks kernel-doc
*/
#define multiline_example( \
myparam)
Producing this error:
Error(somefile.h:983): cannot understand prototype: 'multiline_example( \ '
This patch fixes the issue by appending all lines ending in a blackslash
(optionally followed by whitespace), removing the backslash and any
whitespace after it prior to appending (just like the C pre-processor
would).
This fixes a break in kerel-doc introduced by the additions to rbtree.h.
Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Cc: Michal Marek <mmarek@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/kernel-doc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 8fd107a3fac4..2dea5f81baef 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc | |||
@@ -2046,6 +2046,9 @@ sub process_file($) { | |||
2046 | 2046 | ||
2047 | $section_counter = 0; | 2047 | $section_counter = 0; |
2048 | while (<IN>) { | 2048 | while (<IN>) { |
2049 | while (s/\\\s*$//) { | ||
2050 | $_ .= <IN>; | ||
2051 | } | ||
2049 | if ($state == 0) { | 2052 | if ($state == 0) { |
2050 | if (/$doc_start/o) { | 2053 | if (/$doc_start/o) { |
2051 | $state = 1; # next line is always the function name | 2054 | $state = 1; # next line is always the function name |