Add option to enable/disable format checking (and default it to off) Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> --- --- options.c | 2 ++ options.h | 1 + sparse.1 | 10 ++++++++++ 3 files changed, 13 insertions(+) diff --git a/options.c b/options.c index 294dfd3b..ffd11798 100644 --- a/options.c +++ b/options.c @@ -100,6 +100,7 @@ int Wdesignated_init = 1; int Wdo_while = 0; int Wenum_mismatch = 1; int Wexternal_function_has_definition = 1; +int Wformat = 0; int Wimplicit_int = 1; int Winit_cstring = 0; int Wint_to_pointer_cast = 1; @@ -840,6 +841,7 @@ static const struct flag warnings[] = { { "do-while", &Wdo_while }, { "enum-mismatch", &Wenum_mismatch }, { "external-function-has-definition", &Wexternal_function_has_definition }, + { "format", &Wformat }, { "implicit-int", &Wimplicit_int }, { "init-cstring", &Winit_cstring }, { "int-to-pointer-cast", &Wint_to_pointer_cast }, diff --git a/options.h b/options.h index abdf0864..4e50db0b 100644 --- a/options.h +++ b/options.h @@ -99,6 +99,7 @@ extern int Wdesignated_init; extern int Wdo_while; extern int Wenum_mismatch; extern int Wexternal_function_has_definition; +extern int Wformat; extern int Wimplicit_int; extern int Winit_cstring; extern int Wint_to_pointer_cast; diff --git a/sparse.1 b/sparse.1 index 48dab7a9..860fde7c 100644 --- a/sparse.1 +++ b/sparse.1 @@ -257,6 +257,16 @@ Sparse issues these warnings by default. To turn them off, use \fB\-Wno\-external\-function\-has\-definition\fR. . .TP +.B \-Wformat +Warn about parameter mismatch to any variadic function which specifies +where the format string is specified with the +.BI __attribute__((format( type, message, va_start ))) +attribute. + +Sparse does not issue these warnings by default. To turn them on, use +\fB\-W-format\fR. +. +.TP .B \-Winit\-cstring Warn about initialization of a char array with a too long constant C string. -- 2.28.0