kernel-doc: improve "no structured comments found" error
When using '!Ffile function' in a docbook template, and the function no longer exists, you get a "no structured comments found" error from the kernel-doc processing script. It's useful to know which functions it was looking for, so print them out in this case. Also do the same for '!Pfile doc-section' The same error also happens when using '!Efile' when some exported functions aren't documented (in the same file.) There's a very large number of such functions though, so don't print the message in this case -- right now it would give ~850 messages. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Cc: Rob Landley <rob@landley.net> Cc: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c7708649cc
commit
e946c43a11
@ -72,6 +72,7 @@ FILELINE * docsection;
|
|||||||
#define FUNCTION "-function"
|
#define FUNCTION "-function"
|
||||||
#define NOFUNCTION "-nofunction"
|
#define NOFUNCTION "-nofunction"
|
||||||
#define NODOCSECTIONS "-no-doc-sections"
|
#define NODOCSECTIONS "-no-doc-sections"
|
||||||
|
#define SHOWNOTFOUND "-show-not-found"
|
||||||
|
|
||||||
static char *srctree, *kernsrctree;
|
static char *srctree, *kernsrctree;
|
||||||
|
|
||||||
@ -294,6 +295,7 @@ static void singfunc(char * filename, char * line)
|
|||||||
int startofsym = 1;
|
int startofsym = 1;
|
||||||
vec[idx++] = KERNELDOC;
|
vec[idx++] = KERNELDOC;
|
||||||
vec[idx++] = DOCBOOK;
|
vec[idx++] = DOCBOOK;
|
||||||
|
vec[idx++] = SHOWNOTFOUND;
|
||||||
|
|
||||||
/* Split line up in individual parameters preceded by FUNCTION */
|
/* Split line up in individual parameters preceded by FUNCTION */
|
||||||
for (i=0; line[i]; i++) {
|
for (i=0; line[i]; i++) {
|
||||||
@ -325,7 +327,8 @@ static void singfunc(char * filename, char * line)
|
|||||||
*/
|
*/
|
||||||
static void docsect(char *filename, char *line)
|
static void docsect(char *filename, char *line)
|
||||||
{
|
{
|
||||||
char *vec[6]; /* kerneldoc -docbook -function "section" file NULL */
|
/* kerneldoc -docbook -show-not-found -function "section" file NULL */
|
||||||
|
char *vec[7];
|
||||||
char *s;
|
char *s;
|
||||||
|
|
||||||
for (s = line; *s; s++)
|
for (s = line; *s; s++)
|
||||||
@ -341,10 +344,11 @@ static void docsect(char *filename, char *line)
|
|||||||
|
|
||||||
vec[0] = KERNELDOC;
|
vec[0] = KERNELDOC;
|
||||||
vec[1] = DOCBOOK;
|
vec[1] = DOCBOOK;
|
||||||
vec[2] = FUNCTION;
|
vec[2] = SHOWNOTFOUND;
|
||||||
vec[3] = line;
|
vec[3] = FUNCTION;
|
||||||
vec[4] = filename;
|
vec[4] = line;
|
||||||
vec[5] = NULL;
|
vec[5] = filename;
|
||||||
|
vec[6] = NULL;
|
||||||
exec_kernel_doc(vec);
|
exec_kernel_doc(vec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -257,6 +257,7 @@ my $man_date = ('January', 'February', 'March', 'April', 'May', 'June',
|
|||||||
'July', 'August', 'September', 'October',
|
'July', 'August', 'September', 'October',
|
||||||
'November', 'December')[(localtime)[4]] .
|
'November', 'December')[(localtime)[4]] .
|
||||||
" " . ((localtime)[5]+1900);
|
" " . ((localtime)[5]+1900);
|
||||||
|
my $show_not_found = 0;
|
||||||
|
|
||||||
# Essentially these are globals.
|
# Essentially these are globals.
|
||||||
# They probably want to be tidied up, made more localised or something.
|
# They probably want to be tidied up, made more localised or something.
|
||||||
@ -369,6 +370,8 @@ while ($ARGV[0] =~ m/^-(.*)/) {
|
|||||||
usage();
|
usage();
|
||||||
} elsif ($cmd eq '-no-doc-sections') {
|
} elsif ($cmd eq '-no-doc-sections') {
|
||||||
$no_doc_sections = 1;
|
$no_doc_sections = 1;
|
||||||
|
} elsif ($cmd eq '-show-not-found') {
|
||||||
|
$show_not_found = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2536,6 +2539,9 @@ sub process_file($) {
|
|||||||
}
|
}
|
||||||
if ($initial_section_counter == $section_counter) {
|
if ($initial_section_counter == $section_counter) {
|
||||||
print STDERR "Warning(${file}): no structured comments found\n";
|
print STDERR "Warning(${file}): no structured comments found\n";
|
||||||
|
if (($function_only == 1) && ($show_not_found == 1)) {
|
||||||
|
print STDERR " Was looking for '$_'.\n" for keys %function_table;
|
||||||
|
}
|
||||||
if ($output_mode eq "xml") {
|
if ($output_mode eq "xml") {
|
||||||
# The template wants at least one RefEntry here; make one.
|
# The template wants at least one RefEntry here; make one.
|
||||||
print "<refentry>\n";
|
print "<refentry>\n";
|
||||||
|
Loading…
Reference in New Issue
Block a user