1 struct bfb {
2 _Bool a:1;
3 _Bool f:1;
4 _Bool z:1;
5 };
6
7
foo(struct bfb s)8 struct bfb foo(struct bfb s)
9 {
10 return s;
11 }
12
13 /*
14 * check-name: bitfield-bool-layout
15 * check-description: given that bool is here 1-bit wide
16 * each field here above completely 'fill' a bool.
17 * Thus 3 bools need to be allocated, but since the
18 * alignment is 1-byte the result has a size of 3
19 * bytes, 24 bits thus instead of 8.
20 * check-command: test-linearize -Wno-decl $file
21 *
22 * check-known-to-fail
23 * check-output-ignore
24 * check-output-excludes: ret\\.24
25 * check-output-contains: ret\\.8
26 */
27