Re: [PATCH 1/9] Define a structure for object IDs.
- From
David Kastrup <dak@gnu.org>
- Date
- May 4, 2014, 09:43 UTC
- Message-ID
- <878uqhvpzb.fsf@fencepost.gnu.org>
- In-Reply-To
- <536606AB.1020803@kdbg.org>
Johannes Sixt <j6t@kdbg.org> writes:
Show 15 quoted lines
> Am 04.05.2014 08:07, schrieb Michael Haggerty: >> On 05/03/2014 10:12 PM, brian m. carlson wrote: >>> Introduce a structure for object IDs. This allows us to obtain the benefits >>> of compile-time checking for misuse. The structure is expected to remain >>> the same size and have the same alignment requirements on all known >>> platforms, compared to the array of unsigned char. >> >> Please clarify whether you plan to rely on all platforms having "the >> same size and alignment constraints" for correctness, or whether that >> observation of the status quo is only meant to reassure us that this >> change won't cause memory to be wasted on padding. > > I think that a compiler that has different size and alignment > requirements for the proposed struct object_id and an unsigned > char[20] would, strictly speaking, not be a "C" compiler.
Huh? How so? There is no warranty as far as I know that a structure with only a single member has the same size and alignment requirements as the single member would have. There is also no guarantee as far as I know that anything but element dereference is a valid means of converting access to a struct to access to a sole element.
-- David Kastrup