[PATCH] Define libc_max_align_t

Andreas Schwab schwab@linux-m68k.org
Thu Apr 2 07:38:00 GMT 2015


Florian Weimer <fweimer@redhat.com> writes:

> On 04/02/2015 12:01 AM, Andreas Schwab wrote:
>> Florian Weimer <fweimer@redhat.com> writes:
>> 
>>> +/* This mirrors the C11 max_align_t type provided by GCC, but it is
>>> +   also available in C99 mode.  */
>>> +typedef struct {
>>> +  long long ll __attribute__ ((__aligned__ (__alignof__ (long long))));
>>> +  long double ld __attribute__ ((__aligned__ (__alignof__ (long double))));
>>> +} libc_max_align_t;
>> 
>> Why aren't the attributes no-ops?
>
> Quoting Joseph:
>
> “The attributes there are because some targets may give types lower
> alignment inside structures and unions than outside; 32-bit x86 in
> particular.”

This should probably be added to the comment.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Libc-alpha mailing list