aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/varargs-format-bad.c
diff options
context:
space:
mode:
Diffstat (limited to 'validation/varargs-format-bad.c')
-rw-r--r--validation/varargs-format-bad.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/validation/varargs-format-bad.c b/validation/varargs-format-bad.c
new file mode 100644
index 00000000..d4635708
--- /dev/null
+++ b/validation/varargs-format-bad.c
@@ -0,0 +1,19 @@
+
+extern int variadic(char *msg, ...) __attribute__((format (printf, 0, 0)));
+extern int variadic2(char *msg, int , ...) __attribute__((format (printf, 2, 2)));
+extern int variadic3(char *msg, int , ...) __attribute__((format (printf, 2, 1)));
+
+static void test(void) {
+}
+
+/*
+ * check-name: variadic formatting test with bad formatting parameters
+ * check-command: sparse -Wformat $file
+ * check-known-to-fail
+ *
+ * check-error-start
+varargs-format-bad.c:2:73: warning: bad format positions
+varargs-format-bad.c:3:80: warning: bad format positions
+varargs-format-bad.c:4:80: warning: format cannot be after va_args
+* check-error-end
+ */