diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-05-24 15:13:45 +0200 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-05-27 21:02:38 +0200 |
commit | 3fa54adf79940efa0515ab9946d1f48cff095cf0 (patch) | |
tree | 6975bf4aa950dc3c238de37aee1c2e0024bece47 | |
parent | f0fe1cd9e4fe2e937f452561b62c4ab9d0989ece (diff) | |
download | sparse-3fa54adf79940efa0515ab9946d1f48cff095cf0.tar.gz |
add an option to suppress warning 'no newline at EOF'
Some platforms have some of their system header files missing the
ending newline. Sparse will then warn about it, again and again,
and more important warnings can easily be lost in the noise.
So, add an option flag '-W[no-]newline-eof' to conditionalize
this warning.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | lib.c | 2 | ||||
-rw-r--r-- | lib.h | 1 | ||||
-rw-r--r-- | sparse.1 | 7 | ||||
-rw-r--r-- | tokenize.c | 2 |
4 files changed, 11 insertions, 1 deletions
@@ -272,6 +272,7 @@ int Wenum_mismatch = 1; int Wexternal_function_has_definition = 1; int Wsparse_error = 0; int Wmemcpy_max_count = 1; +int Wnewline_eof = 1; int Wnon_pointer_null = 1; int Wold_initializer = 1; int Wold_style_definition = 1; @@ -761,6 +762,7 @@ static const struct flag warnings[] = { { "int-to-pointer-cast", &Wint_to_pointer_cast }, { "memcpy-max-count", &Wmemcpy_max_count }, { "non-pointer-null", &Wnon_pointer_null }, + { "newline-eof", &Wnewline_eof }, { "old-initializer", &Wold_initializer }, { "old-style-definition", &Wold_style_definition }, { "one-bit-signed-bitfield", &Wone_bit_signed_bitfield }, @@ -161,6 +161,7 @@ extern int Wimplicit_int; extern int Winit_cstring; extern int Wint_to_pointer_cast; extern int Wmemcpy_max_count; +extern int Wnewline_eof; extern int Wnon_pointer_null; extern int Wold_initializer; extern int Wold_style_definition; @@ -280,6 +280,13 @@ The limit can be changed with \fB\-fmemcpy\-max\-count=COUNT\fR, the default being \fB100000\fR. . .TP +.B \-Wnewline\-eof +Warn if the input file doesn't end with a newline. + +Sparse issues these warnings by default. To turn them off, use +\fB\-Wno\-newline\-eof\fR. +. +.TP .B \-Wnon\-pointer\-null Warn about the use of 0 as a NULL pointer. @@ -411,7 +411,7 @@ got_eof: c = '\\'; goto out; } - if (stream->pos) + if (stream->pos & Wnewline_eof) warning(stream_pos(stream), "no newline at end of file"); else if (spliced) warning(stream_pos(stream), "backslash-newline at end of file"); |