[RFC] scripts: kernel-doc: fix attribute capture in function parsing
From: Aditya Srivastava <hidden>
Date: 2021-03-05 18:21:00
Also in:
linux-doc, lkml
Subsystem:
the rest · Maintainer:
Linus Torvalds
Currently, kernel-doc warns for function prototype parsing on the presence of additional attributes in the definition. E.g., running kernel-doc -none on include/rdma/iw_cm.h causes this warning: "warning: cannot understand function prototype: 'const char *__attribute_const__ iwcm_reject_msg(int reason); '" Here, the prototype parsing does not take into account the presence of attribute, "__attribute_const__" before function name. Provide a simple fix by adding "__attribute_const__" in the corresponding regex expression. A quick evaluation by running 'kernel-doc -none' on kernel-tree reveals that no additional warning or error has been added or removed by the fix. Suggested-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Signed-off-by: Aditya Srivastava <redacted> --- scripts/kernel-doc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 68df17877384..8673dc783309 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc@@ -1753,6 +1753,7 @@ sub dump_function($$) { my $prototype = shift; my $file = shift; my $noret = 0; + my $attribute_const = qr{__attribute_const__}; print_lineno($new_start_line);
@@ -1808,7 +1809,7 @@ sub dump_function($$) { $prototype =~ m/^(\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || $prototype =~ m/^(\w+\s*\*+)\s*([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || $prototype =~ m/^(\w+\s+\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || - $prototype =~ m/^(\w+\s+\w+\s*\*+)\s*([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || + $prototype =~ m/^(\w+\s+\w+\s*\*+$attribute_const?)\s*([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || $prototype =~ m/^(\w+\s+\w+\s+\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || $prototype =~ m/^(\w+\s+\w+\s+\w+\s*\*+)\s*([a-zA-Z0-9_~:]+)\s*\(([^\(]*)\)/ || $prototype =~ m/^()([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/ ||
--
2.17.1
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees