Niklas Söderlund <niklas.soderlund@xxxxxxxxxxxx> writes: > Some warnings do not increment the warnings counter making the behavior > of running kernel-doc with -Werror unlogical as some warnings will be > generated but not treated as errors. > > Fix this by creating a helper function that always incrementing the > warnings counter every time a warning is emitted. There is one location > in get_sphinx_version() where a warning is not touched as it concerns > the execution environment of the kernel-doc and not the documentation > being processed. > > Incrementing the counter only have effect when running kernel-doc in > either verbose mode (-v or environment variable KBUILD_VERBOSE) or when > treating warnings as errors (-Werror or environment variable > KDOC_WERROR). In both cases the number of warnings printed is printed to > stderr and for the later the exit code of kernel-doc is non-zero if > warnings where encountered. > > Simple test case to demo one of the warnings, > > $ cat test.c > /** > * foo() - Description > */ > int bar(); > > # Without this change > $ ./scripts/kernel-doc -Werror -none test.c > test.c:4: warning: expecting prototype for foo(). Prototype was for > bar() instead > > # With this change > $ ./scripts/kernel-doc -Werror -none test.c > test.c:4: warning: expecting prototype for foo(). Prototype was for > bar() instead > 1 warnings as Errors > > Signed-off-by: Niklas Söderlund <niklas.soderlund@xxxxxxxxxxxx> > --- > * Changes since v1 > - Added a helper emit_warning() to print the message and increment the > counter instead of adding statements to increment the counter where it > was missing. Thanks for making this change. Anything that rationalizes this horrific script even a little bit is more than welcome. I've applied the patch, thanks. jon