diff mbox

[04/20] cast: add tests for warnings issued by sparse -v

Message ID 20180614190419.28052-5-luc.vanoostenryck@gmail.com (mailing list archive)
State Mainlined, archived
Headers show

Commit Message

Luc Van Oostenryck June 14, 2018, 7:04 p.m. UTC
The sparse command (aka the 'checker') do a number of additional
checks when used with the -v flag (I strongly believes that this
option is rarely used but let me not disgress about it here).
One of these additional checks is about casts.

Add some testcases in order to catch any problems here.

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
---
 validation/cast-kinds-check.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 validation/cast-kinds-check.c
diff mbox

Patch

diff --git a/validation/cast-kinds-check.c b/validation/cast-kinds-check.c
new file mode 100644
index 000000000..b8e948407
--- /dev/null
+++ b/validation/cast-kinds-check.c
@@ -0,0 +1,27 @@ 
+#include "linear/cast-kinds.c"
+
+/*
+ * check-name: cast-kinds check
+ * check-command: sparse -m64 -v $file
+ * check-known-to-fail
+ *
+ * check-error-start
+linear/cast-kinds.c:5:45: warning: cast drops bits
+linear/cast-kinds.c:6:47: warning: cast drops bits
+linear/cast-kinds.c:7:46: warning: cast drops bits
+linear/cast-kinds.c:8:45: warning: cast drops bits
+linear/cast-kinds.c:10:49: warning: cast drops bits
+linear/cast-kinds.c:12:48: warning: cast drops bits
+linear/cast-kinds.c:13:50: warning: cast drops bits
+linear/cast-kinds.c:14:49: warning: cast drops bits
+linear/cast-kinds.c:15:48: warning: cast drops bits
+linear/cast-kinds.c:17:52: warning: cast drops bits
+linear/cast-kinds.c:21:49: warning: cast wasn't removed
+linear/cast-kinds.c:22:48: warning: cast wasn't removed
+linear/cast-kinds.c:28:52: warning: cast wasn't removed
+linear/cast-kinds.c:29:51: warning: cast wasn't removed
+linear/cast-kinds.c:34:52: warning: cast wasn't removed
+linear/cast-kinds.c:35:54: warning: cast wasn't removed
+linear/cast-kinds.c:36:52: warning: cast wasn't removed
+ * check-error-end
+ */