| From: Daniel Santos <daniel.santos@pobox.com> |
| Date: Thu, 4 Oct 2012 17:15:05 -0700 |
| Subject: kernel-doc: bugfix - multi-line macros |
| |
| commit 654784284430bf2739985914b65e09c7c35a7273 upstream. |
| |
| 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> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| scripts/kernel-doc | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/scripts/kernel-doc |
| +++ b/scripts/kernel-doc |
| @@ -2044,6 +2044,9 @@ sub process_file($) { |
| |
| $section_counter = 0; |
| while (<IN>) { |
| + while (s/\\\s*$//) { |
| + $_ .= <IN>; |
| + } |
| if ($state == 0) { |
| if (/$doc_start/o) { |
| $state = 1; # next line is always the function name |