C99 tells us almost nothing about 'storage units' - pretty much just that they are 'addressable'. No alignment restrictions, no requirement that they're all the same size, no requirement that each bitfield is contained in exactly one storage unit, no explicit prohibition on sharing them with non-bitfields. We can see that they can be adjacent to one another or in a 'next' relationship but that doesn't explicitly rule out gaps between them. As such I think an implementation could state that the storage units of a given struct are bounded only by its endpoints and any :0 bit-fields. Yuck.
no subject
Date: 2016-05-20 05:02 (UTC)As such I think an implementation could state that the storage units of a given struct are bounded only by its endpoints and any :0 bit-fields. Yuck.