Print this page
new smatch
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/tools/smatch/src/validation/c11-alignas.c
+++ new/usr/src/tools/smatch/src/validation/c11-alignas.c
1 1 static _Alignas(8) int v;
2 2 static _Alignas(long) int t;
3 3 static _Alignas(void *) int p;
4 4 static _Alignas(int[4]) int a;
5 5 static _Alignas(0) int z;
6 6 static _Alignas(3) int bnpow2;
7 7 static _Alignas(-1) int bneg;
8 8 static _Alignas(-2) int bnegpow2;
9 9 static _Alignas(v) int bnc;
10 10 static _Alignas(+) int bsyn;
11 11
12 12 static int check(void)
13 13 {
14 14 if (_Alignof(v) != 8)
15 15 return -1;
16 16 if (_Alignof(t) != _Alignof(long))
17 17 return -1;
18 18 if (_Alignof(p) != _Alignof(void *))
19 19 return -1;
20 20 if (_Alignof(a) != _Alignof(int))
21 21 return -1;
22 22
23 23 return 0;
24 24 }
25 25
26 26 /*
27 27 * check-name: c11-alignas
28 28 * check-command: test-linearize -std=c11 $file
↓ open down ↓ |
28 lines elided |
↑ open up ↑ |
29 29 *
30 30 * check-error-start
31 31 c11-alignas.c:6:25: warning: non-power-of-2 alignment
32 32 c11-alignas.c:7:25: warning: non-positive alignment
33 33 c11-alignas.c:8:25: warning: non-positive alignment
34 34 c11-alignas.c:9:17: error: bad constant expression
35 35 c11-alignas.c:10:17: error: Syntax error in unary expression
36 36 * check-error-end
37 37 *
38 38 * check-output-ignore
39 - * check-output-contains: ret\\.32 *\$0
39 + * check-output-contains: ret\\.32 *\\$0
40 40 */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX