* asan.c (initialize_sanitizer_builtins): Add
[official-gcc.git] / gcc / testsuite / gcc.dg / sancov / cmp0.c
blob3a17de91ce29625a732595a33d3f97f207a27672
1 /* Basic test on number of inserted callbacks. */
2 /* { dg-do compile } */
3 /* { dg-options "-fsanitize-coverage=trace-cmp -fdump-tree-optimized" } */
5 void
6 foo (char *a, short *b, int *c, long long *d, float *e, double *f)
8 if (*a)
9 *a += 1;
10 if (*b)
11 *b = *a;
12 if (*c)
13 *c += 1;
14 if (*d)
15 *d = *c;
16 if (*e == *c)
17 *e = *c;
18 if (*f == *e)
19 *f = *e;
20 switch (*a)
22 case 2:
23 *b += 2;
24 break;
25 case 3:
26 *b += 3;
27 break;
28 case 4:
29 *b += 4;
30 break;
31 case 5:
32 *b += 5;
33 break;
34 case 6:
35 *b += 6;
36 break;
37 case 7 ... 24:
38 *b += 7;
39 break;
40 default:
41 break;
43 switch (*d)
45 case 3:
46 *d += 3;
47 case -4:
48 *d -= 4;
49 case -5:
50 *d -= 5;
51 case -6:
52 *d -= 6;
53 case -7:
54 *d -= 7;
55 case -8:
56 *d -= 8;
57 case -9:
58 *d -= 9;
59 case -10:
60 *d -= 10;
64 void
65 bar (int *c)
67 if (*c == 27)
68 *c += 2;
69 if (*c == 37)
70 *c += 2;
73 int
74 baz (int *c, long long d, long long e)
76 *c = (*c == 48) ? 12 : 24;
77 return d == e;
80 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_const_cmp1 \\(0, " 1 "optimized" } } */
81 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_const_cmp2 \\(0, " 1 "optimized" } } */
82 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_const_cmp4 \\(0, " 1 "optimized" } } */
83 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_const_cmp8 \\(0, " 1 "optimized" } } */
84 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_const_cmp4 \\(27, " 1 "optimized" } } */
85 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_const_cmp4 \\(37, " 1 "optimized" } } */
86 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_const_cmp4 \\(48, " 1 "optimized" } } */
87 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_cmp8 \\(" 1 "optimized" } } */
88 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_cmpf \\(" 1 "optimized" } } */
89 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_cmpd \\(" 1 "optimized" } } */
90 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_const_cmp" 7 "optimized" } } */
91 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_cmp" 3 "optimized" } } */
92 /* { dg-final { scan-tree-dump-times "__builtin___sanitizer_cov_trace_switch \\(" 2 "optimized" } } */