On 09/07/2016 07:45 PM, Joseph Myers wrote:
On Wed, 7 Sep 2016, Florian Weimer wrote:
The existence of such a cut-off constant appears useful, but it's not clear if
it should be tied to the fundamental alignment (especially, as this discussion
shows, the fundamental alignment will be somewhat in flux).
I don't think it's in flux. I think it's very rare for a new basic type
to be added that has increased alignment requirements compared to the
existing basic types. _Decimal128 was added in GCC 4.3, which increased
the requirement on 32-bit x86 (only) (32-bit x86 malloc having been buggy
in that regard ever since then); __float128 / _Float128 did not increase
the requirement relative to that introduced with _Decimal128.
I said “somewhat”. :) I don't expect many changes. Although with the
gnulib emulation, you could easily get different results depending on
whether your toolchain has C11 support or not, on the same architecture.
If max_align_t denotes the cut-off point between automatic and manual
alignment (as suggested by Richard), it really has to be set in stone, IMHO.
Florian