| static _Alignas(8) int v; |
| static _Alignas(long) int t; |
| static _Alignas(void *) int p; |
| static _Alignas(int[4]) int a; |
| static _Alignas(0) int z; |
| static _Alignas(3) int bnpow2; |
| static _Alignas(-1) int bneg; |
| static _Alignas(-2) int bnegpow2; |
| static _Alignas(v) int bnc; |
| static _Alignas(+) int bsyn; |
| |
| static int check(void) |
| { |
| if (_Alignof(v) != 8) |
| return -1; |
| if (_Alignof(t) != _Alignof(long)) |
| return -1; |
| if (_Alignof(p) != _Alignof(void *)) |
| return -1; |
| if (_Alignof(a) != _Alignof(int)) |
| return -1; |
| |
| return 0; |
| } |
| |
| /* |
| * check-name: c11-alignas |
| * check-command: test-linearize -std=c11 $file |
| * |
| * check-error-start |
| c11-alignas.c:6:25: warning: non-power-of-2 alignment |
| c11-alignas.c:7:25: warning: non-positive alignment |
| c11-alignas.c:8:25: warning: non-positive alignment |
| c11-alignas.c:9:17: error: bad constant expression |
| c11-alignas.c:10:17: error: Syntax error in unary expression |
| * check-error-end |
| * |
| * check-output-ignore |
| * check-output-contains: ret\\.32 *\\$0 |
| */ |