aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Waitz <tali@admingilde.org>2006-01-09 23:53:55 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-10 11:01:54 -0500
commita6d3fe77dace2c41a32b9699fe78960ab0908a97 (patch)
tree344e0f32ffcfc85d8494abca697d0cba682649b0
parent0863afb32b77fc89c7110b3d10fb048cb56bb1b5 (diff)
[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: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rwxr-xr-xscripts/kernel-doc12
1 files changed, 8 insertions, 4 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 2f45fd2969d0..9fd5f5b87d1e 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1405,6 +1405,7 @@ sub create_parameterlist($$$) {
1405 my $type; 1405 my $type;
1406 my $param; 1406 my $param;
1407 1407
1408 # temporarily replace commas inside function pointer definition
1408 while ($args =~ /(\([^\),]+),/) { 1409 while ($args =~ /(\([^\),]+),/) {
1409 $args =~ s/(\([^\),]+),/$1#/g; 1410 $args =~ s/(\([^\),]+),/$1#/g;
1410 } 1411 }
@@ -1465,11 +1466,10 @@ sub push_parameter($$$) {
1465 my $param_name = $param; 1466 my $param_name = $param;
1466 $param_name =~ s/\[.*//; 1467 $param_name =~ s/\[.*//;
1467 1468
1468 if ($type eq "" && $param eq "...") 1469 if ($type eq "" && $param =~ /\.\.\.$/)
1469 { 1470 {
1470 $type=""; 1471 $type="";
1471 $param="..."; 1472 $parameterdescs{$param} = "variable arguments";
1472 $parameterdescs{"..."} = "variable arguments";
1473 } 1473 }
1474 elsif ($type eq "" && ($param eq "" or $param eq "void")) 1474 elsif ($type eq "" && ($param eq "" or $param eq "void"))
1475 { 1475 {
@@ -1477,7 +1477,11 @@ sub push_parameter($$$) {
1477 $param="void"; 1477 $param="void";
1478 $parameterdescs{void} = "no arguments"; 1478 $parameterdescs{void} = "no arguments";
1479 } 1479 }
1480 if (defined $type && $type && !defined $parameterdescs{$param_name}) { 1480 # warn if parameter has no description
1481 # (but ignore ones starting with # as these are no parameters
1482 # but inline preprocessor statements
1483 if (!defined $parameterdescs{$param_name} && $param_name !~ /^#/) {
1484
1481 $parameterdescs{$param_name} = $undescribed; 1485 $parameterdescs{$param_name} = $undescribed;
1482 1486
1483 if (($type eq 'function') || ($type eq 'enum')) { 1487 if (($type eq 'function') || ($type eq 'enum')) {