diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2018-10-01 21:44:46 +0200 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2019-11-30 14:05:03 +0100 |
commit | 600bc3b599fe3488e31a044f45939f9b52d7f7d3 (patch) | |
tree | 45b6e7c96e146d47c75208cec09a61f4e5be1221 | |
parent | 9b2efc158c5c9700ffe355c59356879df7c9cc12 (diff) | |
download | sparse-600bc3b599fe3488e31a044f45939f9b52d7f7d3.tar.gz |
bitfield: add testcases for invalid bitfield width
Add some testcases before making related changes.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | validation/bitfield-sizes.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/validation/bitfield-sizes.c b/validation/bitfield-sizes.c new file mode 100644 index 00000000..e30a3e4c --- /dev/null +++ b/validation/bitfield-sizes.c @@ -0,0 +1,31 @@ +struct a { + int a:31; + int b:32; + long c:63; + long d:64; + int x:33; // KO + long y:65; // KO +}; +static struct a a; + +struct b { + int m1:-1; // KO + int x1:2147483648; // KO + int :0; + int a0:0; // KO +}; +static struct b b; + +/* + * check-name: bitfield-sizes + * check-command: sparse -m64 $file + * check-known-to-fail + * + * check-error-start +bitfield-sizes.c:12:18: error: invalid bitfield width, -1. +bitfield-sizes.c:13:26: error: invalid bitfield width, 2147483648. +bitfield-sizes.c:15:17: error: invalid named zero-width bitfield `a0' +bitfield-sizes.c:6:15: error: impossible field-width, 33, for this type +bitfield-sizes.c:7:15: error: impossible field-width, 65, for this type + * check-error-end + */ |