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