aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-11-21 22:47:26 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-03-15 23:12:30 +0100
commitbc544c461c14915c55b2dd240dd5d15df4f4d8ea (patch)
treebaf3aab17d3017d84b02c776b0a8db3f5975fb5f
parent9d31ee5fc730cd3e3e9bb61fc55a7c3a19e3e07f (diff)
downloadsparse-bc544c461c14915c55b2dd240dd5d15df4f4d8ea.tar.gz
teach sparse about -pedantic/-Wpedantic
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r--lib.c14
-rw-r--r--lib.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/lib.c b/lib.c
index f15e4d99..f9ec285e 100644
--- a/lib.c
+++ b/lib.c
@@ -280,6 +280,7 @@ int Woverride_init = 1;
int Woverride_init_all = 0;
int Woverride_init_whole_range = 0;
int Wparen_string = 0;
+int Wpedantic = 0;
int Wpointer_arith = 0;
int Wpointer_to_int_cast = 1;
int Wptr_subtraction_blows = 0;
@@ -725,6 +726,17 @@ static char **handle_switch_o(char *arg, char **next)
return next;
}
+static const struct flag pflags[] = {
+ { "pedantic", &Wpedantic, NULL, OPT_VAL, WARNING_ON },
+ { }
+};
+
+static char **handle_switch_p(char *arg, char **next)
+{
+ handle_switches(arg-1, arg, pflags);
+ return next;
+}
+
static const struct flag warnings[] = {
{ "address", &Waddress },
{ "address-space", &Waddress_space },
@@ -754,6 +766,7 @@ static const struct flag warnings[] = {
{ "override-init", &Woverride_init },
{ "override-init-all", &Woverride_init_all },
{ "paren-string", &Wparen_string },
+ { "pedantic", &Wpedantic },
{ "pointer-to-int-cast", &Wpointer_to_int_cast },
{ "ptr-subtraction-blows", &Wptr_subtraction_blows },
{ "return-void", &Wreturn_void },
@@ -1181,6 +1194,7 @@ static char **handle_switch(char *arg, char **next)
case 'n': return handle_switch_n(arg, next);
case 'o': return handle_switch_o(arg, next);
case 'O': return handle_switch_O(arg, next);
+ case 'p': return handle_switch_p(arg, next);
case 's': return handle_switch_s(arg, next);
case 'U': return handle_switch_U(arg, next);
case 'v': return handle_switch_v(arg, next);
diff --git a/lib.h b/lib.h
index 72651cef..b18295a8 100644
--- a/lib.h
+++ b/lib.h
@@ -169,6 +169,7 @@ extern int Woverride_init;
extern int Woverride_init_all;
extern int Woverride_init_whole_range;
extern int Wparen_string;
+extern int Wpedantic;
extern int Wpointer_arith;
extern int Wpointer_to_int_cast;
extern int Wptr_subtraction_blows;