scripts/kernel-doc: ignore identifier on anonymous enums
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 3 Mar 2021 08:42:14 +0000 (09:42 +0100)
committerJonathan Corbet <corbet@lwn.net>
Tue, 9 Mar 2021 00:10:24 +0000 (17:10 -0700)
When anonymous enums are used, the identifier is empty.

While, IMO, it should be avoided the usage of such enums,
adding support for it is not hard.

So, postpone the check for empty identifiers to happen
only at the dump phase.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/055ad57879f1b9381b90879e00f72fde1c3a5647.1614760910.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
scripts/kernel-doc

index e1e562b..cb92d0e 100755 (executable)
@@ -1412,9 +1412,14 @@ sub dump_enum($$) {
 
     if ($members) {
        if ($identifier ne $declaration_name) {
-           print STDERR "${file}:$.: warning: expecting prototype for enum $identifier. Prototype was for enum $declaration_name instead\n";
+           if ($identifier eq "") {
+               print STDERR "${file}:$.: warning: wrong kernel-doc identifier on line:\n";
+           } else {
+               print STDERR "${file}:$.: warning: expecting prototype for enum $identifier. Prototype was for enum $declaration_name instead\n";
+           }
            return;
        }
+       $declaration_name = "(anonymous)" if ($declaration_name eq "");
 
        my %_members;
 
@@ -2134,7 +2139,7 @@ sub process_name($$) {
            ++$warnings;
        }
 
-       if ($identifier eq "") {
+       if ($identifier eq "" && $decl_type ne "enum") {
            print STDERR "${file}:$.: warning: wrong kernel-doc identifier on line:\n";
            print STDERR $_;
            ++$warnings;