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 Levonstatic 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