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