https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94569

--- Comment #5 from Inbal Levi <sinbal2l at gmail dot com> ---
Stumbled across another rule which might be relevant here is:

[basic.align/1]

[...] An object type imposes an alignment requirement on every object of that
type; stricter alignment can be requested using the alignment specifier
(9.12.2).

Inherited from the C standard, which results in an error for the following
code:

#include <stdio.h>
typedef struct U U;
struct U {
} __attribute__((aligned (32))); 

int main() {
    _Alignas(16) U my_u;     // alignas(obj) of a weaker alignment than the
type.
}

https://godbolt.org/z/tdEJgo

Reply via email to