Print this page
11972 resync smatch
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/tools/smatch/src/validation/bitfield-size.c
+++ new/usr/src/tools/smatch/src/validation/optim/bitfield-size.c
1 1 struct bfu {
2 2 unsigned int a:4;
3 3 unsigned int :2;
4 4 unsigned int b:4;
5 5 };
6 6 unsigned int get__bfu_a(struct bfu bf) { return bf.a; }
7 7 unsigned int get__bfu_b(struct bfu bf) { return bf.b; }
8 8 unsigned int get_pbfu_a(struct bfu *bf) { return bf->a; }
9 9 unsigned int get_pbfu_b(struct bfu *bf) { return bf->b; }
10 10
11 11
12 12 struct bfs {
13 13 signed int a:4;
14 14 signed int :2;
15 15 signed int b:4;
16 16 };
17 17 signed int get__bfs_a(struct bfs bf) { return bf.a; }
18 18 signed int get__bfs_b(struct bfs bf) { return bf.b; }
19 19 signed int get_pbfs_a(struct bfs *bf) { return bf->a; }
20 20 signed int get_pbfs_b(struct bfs *bf) { return bf->b; }
21 21
22 22
23 23 struct bfi {
24 24 int a:4;
25 25 int :2;
26 26 int b:4;
27 27 };
↓ open down ↓ |
27 lines elided |
↑ open up ↑ |
28 28 unsigned int get__bfi_a(struct bfi bf) { return bf.a; }
29 29 unsigned int get__bfi_b(struct bfi bf) { return bf.b; }
30 30 unsigned int get_pbfi_a(struct bfi *bf) { return bf->a; }
31 31 unsigned int get_pbfi_b(struct bfi *bf) { return bf->b; }
32 32
33 33 /*
34 34 * check-name: bitfield size
35 35 * check-command: test-linearize -Wno-decl $file
36 36 * check-output-ignore
37 37 *
38 - * check-output-pattern-24-times: cast\\.
39 - * check-output-pattern-12-times: cast\\.4
40 - * check-output-pattern-6-times: lsr\\..*\\$6
38 + * check-output-excludes: and\\..*\\$960
39 + * check-output-excludes: zext\\.
40 + * check-output-pattern(8): and\\..*\\$15
41 + * check-output-pattern(4): sext\\.
42 + * check-output-pattern(4): trunc\\.4
43 + * check-output-pattern(6): lsr\\..*\\$6
41 44 */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX