[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 102/113] scripts: kernel-doc: fix typedef identification
From: |
Paolo Bonzini |
Subject: |
[PULL 102/113] scripts: kernel-doc: fix typedef identification |
Date: |
Wed, 2 Dec 2020 03:08:38 -0500 |
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Some typedef expressions are output as normal functions.
As we need to be clearer about the type with Sphinx 3.x,
detect such cases.
While here, fix a wrongly-indented block.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-21-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
scripts/kernel-doc | 64 +++++++++++++++++++++++++++++-----------------
1 file changed, 41 insertions(+), 23 deletions(-)
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 35d60af834..0c31e9ad66 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1748,30 +1748,48 @@ sub dump_function($$) {
return;
}
- my $prms = join " ", @parameterlist;
- check_sections($file, $declaration_name, "function", $sectcheck, $prms);
-
- # This check emits a lot of warnings at the moment, because many
- # functions don't have a 'Return' doc section. So until the number
- # of warnings goes sufficiently down, the check is only performed in
- # verbose mode.
- # TODO: always perform the check.
- if ($verbose && !$noret) {
- check_return_section($file, $declaration_name, $return_type);
- }
+ my $prms = join " ", @parameterlist;
+ check_sections($file, $declaration_name, "function", $sectcheck, $prms);
+
+ # This check emits a lot of warnings at the moment, because many
+ # functions don't have a 'Return' doc section. So until the number
+ # of warnings goes sufficiently down, the check is only performed in
+ # verbose mode.
+ # TODO: always perform the check.
+ if ($verbose && !$noret) {
+ check_return_section($file, $declaration_name, $return_type);
+ }
- output_declaration($declaration_name,
- 'function',
- {'function' => $declaration_name,
- 'module' => $modulename,
- 'functiontype' => $return_type,
- 'parameterlist' => \@parameterlist,
- 'parameterdescs' => \%parameterdescs,
- 'parametertypes' => \%parametertypes,
- 'sectionlist' => \@sectionlist,
- 'sections' => \%sections,
- 'purpose' => $declaration_purpose
- });
+ # The function parser can be called with a typedef parameter.
+ # Handle it.
+ if ($return_type =~ /typedef/) {
+ output_declaration($declaration_name,
+ 'function',
+ {'function' => $declaration_name,
+ 'typedef' => 1,
+ 'module' => $modulename,
+ 'functiontype' => $return_type,
+ 'parameterlist' => \@parameterlist,
+ 'parameterdescs' => \%parameterdescs,
+ 'parametertypes' => \%parametertypes,
+ 'sectionlist' => \@sectionlist,
+ 'sections' => \%sections,
+ 'purpose' => $declaration_purpose
+ });
+ } else {
+ output_declaration($declaration_name,
+ 'function',
+ {'function' => $declaration_name,
+ 'module' => $modulename,
+ 'functiontype' => $return_type,
+ 'parameterlist' => \@parameterlist,
+ 'parameterdescs' => \%parameterdescs,
+ 'parametertypes' => \%parametertypes,
+ 'sectionlist' => \@sectionlist,
+ 'sections' => \%sections,
+ 'purpose' => $declaration_purpose
+ });
+ }
}
sub reset_state {
--
2.26.2
- [PULL 094/113] kernel-doc: add support for ____cacheline_aligned attribute, (continued)
- [PULL 094/113] kernel-doc: add support for ____cacheline_aligned attribute, Paolo Bonzini, 2020/12/02
- [PULL 096/113] Revert "scripts/kerneldoc: For Sphinx 3 use c:macro for macros with arguments", Paolo Bonzini, 2020/12/02
- [PULL 083/113] kernel-doc: fix processing nested structs with attributes, Paolo Bonzini, 2020/12/02
- [PULL 082/113] docs: temporarily disable the kernel-doc extension, Paolo Bonzini, 2020/12/02
- [PULL 081/113] config-file: move -set implementation to vl.c, Paolo Bonzini, 2020/12/02
- [PULL 085/113] scripts/kernel-doc: Add support for named variable macro arguments, Paolo Bonzini, 2020/12/02
- [PULL 089/113] Replace HTTP links with HTTPS ones: documentation, Paolo Bonzini, 2020/12/02
- [PULL 092/113] scripts/kernel-doc: optionally treat warnings as errors, Paolo Bonzini, 2020/12/02
- [PULL 095/113] scripts: kernel-doc: add support for typedef enum, Paolo Bonzini, 2020/12/02
- [PULL 097/113] Revert "kernel-doc: Use c:struct for Sphinx 3.0 and later", Paolo Bonzini, 2020/12/02
- [PULL 102/113] scripts: kernel-doc: fix typedef identification,
Paolo Bonzini <=
- [PULL 098/113] scripts: kernel-doc: make it more compatible with Sphinx 3.x, Paolo Bonzini, 2020/12/02
- [PULL 107/113] Revert "kernel-doc: Handle function typedefs without asterisks", Paolo Bonzini, 2020/12/02
- [PULL 104/113] scripts: kernel-doc: allow passing desired Sphinx C domain dialect, Paolo Bonzini, 2020/12/02
- [PULL 078/113] vl: extract softmmu/rtc.c, Paolo Bonzini, 2020/12/02
- [PULL 093/113] kernel-doc: include line numbers for function prototypes, Paolo Bonzini, 2020/12/02
- [PULL 106/113] scripts: kernel-doc: try to use c:function if possible, Paolo Bonzini, 2020/12/02
- [PULL 105/113] scripts: kernel-doc: fix line number handling, Paolo Bonzini, 2020/12/02
- [PULL 113/113] scripts: kernel-doc: remove unnecesssary change wrt Linux, Paolo Bonzini, 2020/12/02
- [PULL 111/113] scripts: kernel-doc: use :c:union when needed, Paolo Bonzini, 2020/12/02
- [PULL 099/113] scripts: kernel-doc: use a less pedantic markup for funcs on Sphinx 3.x, Paolo Bonzini, 2020/12/02