1 struct bfu {
2 unsigned int a:4;
3 unsigned int :2;
4 unsigned int b:4;
5 };
get__bfu_a(struct bfu bf)6 unsigned int get__bfu_a(struct bfu bf) { return bf.a; }
get__bfu_b(struct bfu bf)7 unsigned int get__bfu_b(struct bfu bf) { return bf.b; }
get_pbfu_a(struct bfu * bf)8 unsigned int get_pbfu_a(struct bfu *bf) { return bf->a; }
get_pbfu_b(struct bfu * bf)9 unsigned int get_pbfu_b(struct bfu *bf) { return bf->b; }
10
11
12 struct bfs {
13 signed int a:4;
14 signed int :2;
15 signed int b:4;
16 };
get__bfs_a(struct bfs bf)17 signed int get__bfs_a(struct bfs bf) { return bf.a; }
get__bfs_b(struct bfs bf)18 signed int get__bfs_b(struct bfs bf) { return bf.b; }
get_pbfs_a(struct bfs * bf)19 signed int get_pbfs_a(struct bfs *bf) { return bf->a; }
get_pbfs_b(struct bfs * bf)20 signed int get_pbfs_b(struct bfs *bf) { return bf->b; }
21
22 /*
23 * check-name: bitfield size
24 * check-command: test-linearize -Wno-decl $file
25 * check-output-ignore
26 *
27 * check-output-excludes: and\\..*\\$960
28 * check-output-excludes: zext\\.
29 * check-output-pattern(4): and\\..*\\$15
30 * check-output-pattern(4): sext\\.
31 * check-output-pattern(4): trunc\\.4
32 * check-output-pattern(4): lsr\\..*\\$6
33 */
34