11f5207b7SJohn Levon static _Alignas(8)	int v;
21f5207b7SJohn Levon static _Alignas(long)	int t;
31f5207b7SJohn Levon static _Alignas(void *)	int p;
41f5207b7SJohn Levon static _Alignas(int[4])	int a;
51f5207b7SJohn Levon static _Alignas(0)	int z;
61f5207b7SJohn Levon static _Alignas(3)	int bnpow2;
71f5207b7SJohn Levon static _Alignas(-1)	int bneg;
81f5207b7SJohn Levon static _Alignas(-2)	int bnegpow2;
91f5207b7SJohn Levon static _Alignas(v)	int bnc;
101f5207b7SJohn Levon static _Alignas(+)	int bsyn;
111f5207b7SJohn Levon 
check(void)121f5207b7SJohn Levon static int check(void)
131f5207b7SJohn Levon {
141f5207b7SJohn Levon 	if (_Alignof(v) != 8)
151f5207b7SJohn Levon 		return -1;
161f5207b7SJohn Levon 	if (_Alignof(t) != _Alignof(long))
171f5207b7SJohn Levon 		return -1;
181f5207b7SJohn Levon 	if (_Alignof(p) != _Alignof(void *))
191f5207b7SJohn Levon 		return -1;
201f5207b7SJohn Levon 	if (_Alignof(a) != _Alignof(int))
211f5207b7SJohn Levon 		return -1;
221f5207b7SJohn Levon 
231f5207b7SJohn Levon 	return 0;
241f5207b7SJohn Levon }
251f5207b7SJohn Levon 
261f5207b7SJohn Levon /*
271f5207b7SJohn Levon  * check-name: c11-alignas
281f5207b7SJohn Levon  * check-command: test-linearize -std=c11 $file
291f5207b7SJohn Levon  *
301f5207b7SJohn Levon  * check-error-start
311f5207b7SJohn Levon c11-alignas.c:6:25: warning: non-power-of-2 alignment
321f5207b7SJohn Levon c11-alignas.c:7:25: warning: non-positive alignment
331f5207b7SJohn Levon c11-alignas.c:8:25: warning: non-positive alignment
341f5207b7SJohn Levon c11-alignas.c:9:17: error: bad constant expression
351f5207b7SJohn Levon c11-alignas.c:10:17: error: Syntax error in unary expression
361f5207b7SJohn Levon  * check-error-end
371f5207b7SJohn Levon  *
381f5207b7SJohn Levon  * check-output-ignore
39*c85f09ccSJohn Levon  * check-output-contains: ret\\.32 *\\$0
401f5207b7SJohn Levon  */
41