This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Define libc_max_align_t
- From: Andreas Schwab <schwab at linux-m68k dot org>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 02 Apr 2015 09:38:16 +0200
- Subject: Re: [PATCH] Define libc_max_align_t
- Authentication-results: sourceware.org; auth=none
- References: <551C1A60 dot 4080507 at redhat dot com> <87h9szqzi9 dot fsf at igel dot home> <551C6E87 dot 2090607 at redhat dot com>
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."