Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6d3fe77 authored by Martin Waitz's avatar Martin Waitz Committed by Linus Torvalds
Browse files

[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: default avatarMartin Waitz <tali@admingilde.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 0863afb3
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -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')) {