// SPDX-License-Identifier: GPL-3.0-or-later
A = { size: 32, field_alignment: 64, pointer_alignment: 32, required_alignment: 64 }@align(8) typedef { size: 32, alignment: 32 }int
B = { size: 96, field_alignment: 64, pointer_alignment: 32, required_alignment: 16 }@pragma_pack(4) struct {
{ offset: 0, size: 32 }@align(2) i { size: 32, alignment: 32 }int,
{ offset: 64, size: 1 }@align(8) j { size: 32, alignment: 32 }int:1,
}
const D = {32}sizeof_bits(A)
C = { size: 256, alignment: 128, required_alignment: 64 }struct {
{ offset: 0, size: 8 }a { size: 8, alignment: 8 }char,
{ offset: 128, size: 128 }b { size: 128, field_alignment: 128, pointer_alignment: 32, required_alignment: 64 }opaque {
size: D + sizeof_bits(B),
field_alignment: 128,
pointer_alignment: 32,
required_alignment: 64
},
}
E = { size: 8, alignment: 16 }opaque { size: 8, alignment: 16 }
F = { size: 8, field_alignment: 16, pointer_alignment: 32 }opaque { size: 8, field_alignment: 16, pointer_alignment: 32 }
G = { size: 8, field_alignment: 16, pointer_alignment: 32, required_alignment: 64 }opaque { size: 8, field_alignment: 16, pointer_alignment: 32, required_alignment: 64 }
H = { size: 8, alignment: 32, required_alignment: 64 }opaque { size: 8, alignment: 32, required_alignment: 64 }