On Tue, 5 Nov 2013, Joseph S. Myers wrote: Thanks for doing this! However, without examples I have trouble reading out the bits I need as a target maintainer, and I can't read out the answers from the patch, so pardon a few questions.
> This patch, relative to trunk and based on work done on the C11-atomic > branch, adds support for C11 _Atomic. It is intended to include all > the required language support. > > It does not include the <stdatomic.h> header; there's a version on the > branch, but it needs further review against the standard and test > coverage adding to the testsuite before I can propose it for mainline. > > Support for atomic types having bigger alignment than the > corresponding non-atomic types is limited: it includes the code to > increase the alignment of types whose size is exactly 1, 2, 4, 8 or 16 > to that of the corresponding integer type [*], but not anything for > target-specific alignment increases. Target-maintainer perspective here: do I read that correctly, that by default adding _Atomic raises the alignment of that type to the "natural" one, for all targets? To wit, > There's code for target-specific > alignment on the branch (and I intend to merge trunk back to the > branch once this patch is on trunk, so it's easy to tell what the > changes still left on the branch are), should any target maintainers > wish to have such alignment. ...is that part needed for alignment that is only target-specific and other-than-natural? For example, 8-byte aligment where required for atomic 4-byte types? Or is that part also required for anything-other-than-ordinary-C-type alignment for the target; say, natural 4-byte alignment of 4-byte-types for targets where alignment is otherwise "packed"; where only 1-byte alignment of the basic type is ABI-mandated? brgds, H-P