#define __aligned(N) __attribute__((aligned(N))) #define alignof(X) __alignof__(X) struct s { short a, b, c; } __aligned(2*sizeof(short)); static int fs(void) { return sizeof(struct s); } static int fa(void) { return alignof(struct s); } void main(void) { _Static_assert( sizeof(struct s) == 4 * sizeof(short), "size"); _Static_assert(alignof(struct s) == 2 * sizeof(short), "alignment"); } /* * check-name: type-attribute-align */