aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--lib.c2
-rw-r--r--lib.h1
-rw-r--r--sparse.17
-rw-r--r--tokenize.c2
4 files changed, 11 insertions, 1 deletions
diff --git a/lib.c b/lib.c
index 9ee8d3cf..7aca9cd0 100644
--- a/lib.c
+++ b/lib.c
@@ -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 },
diff --git a/lib.h b/lib.h
index 5e6db111..e767840c 100644
--- a/lib.h
+++ b/lib.h
@@ -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;
diff --git a/sparse.1 b/sparse.1
index 50e92839..63b408e3 100644
--- a/sparse.1
+++ b/sparse.1
@@ -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.
diff --git a/tokenize.c b/tokenize.c
index d8bbef49..d3371e1e 100644
--- a/tokenize.c
+++ b/tokenize.c
@@ -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");