annotate gcc/testsuite/gcc.dg/sancov/cmp0.c @ 131:84e7813d76e9

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