提交 a6d3fe77 编写于 作者: M Martin Waitz 提交者: Linus Torvalds

[PATCH] DocBook: warn for missing macro parameters

Previously kernel-doc silently ignored missing parameter descriptions for
preprocessor macros.  Now that all such omissions are fixed up we can warn
about them in kernel-doc to be able to keep it that way.
Signed-off-by: NMartin Waitz <tali@admingilde.org>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 0863afb3
......@@ -1405,6 +1405,7 @@ sub create_parameterlist($$$) {
my $type;
my $param;
# temporarily replace commas inside function pointer definition
while ($args =~ /(\([^\),]+),/) {
$args =~ s/(\([^\),]+),/$1#/g;
}
......@@ -1465,11 +1466,10 @@ sub push_parameter($$$) {
my $param_name = $param;
$param_name =~ s/\[.*//;
if ($type eq "" && $param eq "...")
if ($type eq "" && $param =~ /\.\.\.$/)
{
$type="";
$param="...";
$parameterdescs{"..."} = "variable arguments";
$parameterdescs{$param} = "variable arguments";
}
elsif ($type eq "" && ($param eq "" or $param eq "void"))
{
......@@ -1477,7 +1477,11 @@ sub push_parameter($$$) {
$param="void";
$parameterdescs{void} = "no arguments";
}
if (defined $type && $type && !defined $parameterdescs{$param_name}) {
# warn if parameter has no description
# (but ignore ones starting with # as these are no parameters
# but inline preprocessor statements
if (!defined $parameterdescs{$param_name} && $param_name !~ /^#/) {
$parameterdescs{$param_name} = $undescribed;
if (($type eq 'function') || ($type eq 'enum')) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册