aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/type-attribute-align.c
blob: d9358bff8327968cd876cc44f11672035215acd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#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
 * check-known-to-fail
 */