2018-03-08 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / sancov / cmp0.c
blob25a166a55d74654c8ea8cf93e2644d60addddb11
1 /* Basic test on number of inserted callbacks. */
2 /* { dg-do compile } */
3 /* { dg-options "-fsanitize-coverage=trace-cmp -fdump-tree-optimized" } */
4 /* { dg-skip-if "different type layout" { avr-*-* } } */
6 void
7 foo (char *a, short *b, int *c, long long *d, float *e, double *f)
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)
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;
44 switch (*d)
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;
65 void
66 bar (int *c)
68 if (*c == 27)
69 *c += 2;
70 if (*c == 37)
71 *c += 2;
74 int
75 baz (int *c, long long d, long long e)
77 *c = (*c == 48) ? 12 : 24;
78 return d == e;
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" } } */