diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2019-12-09 21:45:35 +0100 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2019-12-09 21:45:35 +0100 |
| commit | 82dee2e25887f26df7126d6789a419eaf14beb8c (patch) | |
| tree | 6d7d985710ab0f0199b23c4a4f420da0aecfff36 /validation | |
| parent | faa80ad61505517b48ed0afc86f39fd3ad021b7d (diff) | |
| parent | 38dfaa85aef4f1f02f114dffeda02c818d87fe06 (diff) | |
| download | sparse-dev-82dee2e25887f26df7126d6789a419eaf14beb8c.tar.gz | |
Merge branch 'bitfield-size'
* improve diagnostic messages concerning bitfields
Diffstat (limited to 'validation')
| -rw-r--r-- | validation/bitfield-sizes.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/validation/bitfield-sizes.c b/validation/bitfield-sizes.c new file mode 100644 index 00000000..9f76d074 --- /dev/null +++ b/validation/bitfield-sizes.c @@ -0,0 +1,30 @@ +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-error-start +bitfield-sizes.c:12:18: error: bitfield 'm1' has invalid width (-1) +bitfield-sizes.c:13:26: error: bitfield 'x1' has invalid width (2147483648) +bitfield-sizes.c:15:17: error: bitfield 'a0' has invalid width (0) +bitfield-sizes.c:6:15: error: bitfield 'x' is wider (33) than its type (int) +bitfield-sizes.c:7:15: error: bitfield 'y' is wider (65) than its type (long) + * check-error-end + */ |
