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 e1e562b2e2e76db6bf433a42c41304ccc165cc4e..cb92d0e1e932285cc45ee3f1059d232750e5dd2f 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;