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@xxxxxxxxx> --- validation/cast-kinds-check.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 validation/cast-kinds-check.c 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 + */ -- 2.17.1 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html