aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-02-22 16:30:02 +0100
committerChristopher Li <sparse@chrisli.org>2017-03-04 00:45:38 +0800
commitecb47e33d67a535716b4894c25cfe46c7abf1e3b (patch)
treeecb45c2620f6118b6a368731e4295d97c3d9a1d2 /validation
parenta9432b3336e8e584c85ed8a03535aa7564e93514 (diff)
downloadsparse-dev-ecb47e33d67a535716b4894c25cfe46c7abf1e3b.tar.gz
use option: '-Woverride-init'
Sparse warns unconditionally about overlapping initilalizers. Introduces a warning flag to control this, use the same name as GCC's and enabled it by default. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> Signed-off-by: Christopher Li <sparse@chrisli.org>
Diffstat (limited to 'validation')
-rw-r--r--validation/Woverride-init-def.c14
-rw-r--r--validation/Woverride-init-no.c12
-rw-r--r--validation/Woverride-init-yes.c14
3 files changed, 40 insertions, 0 deletions
diff --git a/validation/Woverride-init-def.c b/validation/Woverride-init-def.c
new file mode 100644
index 00000000..95ecf33b
--- /dev/null
+++ b/validation/Woverride-init-def.c
@@ -0,0 +1,14 @@
+static int array[] = {
+ [1] = 3,
+ [1] = 1, /* check-should-warn */
+};
+
+/*
+ * check-name: Woverride-init-def
+ * check-command: sparse $file
+ *
+ * check-error-start
+Woverride-init-def.c:2:10: warning: Initializer entry defined twice
+Woverride-init-def.c:3:10: also defined here
+ * check-error-end
+ */
diff --git a/validation/Woverride-init-no.c b/validation/Woverride-init-no.c
new file mode 100644
index 00000000..ba4d82b9
--- /dev/null
+++ b/validation/Woverride-init-no.c
@@ -0,0 +1,12 @@
+static int array[] = {
+ [1] = 3,
+ [1] = 1, /* check-should-warn */
+};
+
+/*
+ * check-name: Woverride-init-no
+ * check-command: sparse -Wno-override-init $file
+ *
+ * check-error-start
+ * check-error-end
+ */
diff --git a/validation/Woverride-init-yes.c b/validation/Woverride-init-yes.c
new file mode 100644
index 00000000..c04a836b
--- /dev/null
+++ b/validation/Woverride-init-yes.c
@@ -0,0 +1,14 @@
+static int array[] = {
+ [1] = 3,
+ [1] = 1, /* check-should-warn */
+};
+
+/*
+ * check-name: Woverride-init-yes
+ * check-command: sparse -Woverride-init $file
+ *
+ * check-error-start
+Woverride-init-yes.c:2:10: warning: Initializer entry defined twice
+Woverride-init-yes.c:3:10: also defined here
+ * check-error-end
+ */