annotate gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-6.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-options "-O2 -fdump-tree-thread1-details -fdump-tree-thread2-details" } */
kono
parents:
diff changeset
3 /* { dg-final { scan-tree-dump-times "FSM" 3 "thread1" } } */
kono
parents:
diff changeset
4 /* { dg-final { scan-tree-dump-times "FSM" 5 "thread2" } } */
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 int sum0, sum1, sum2, sum3;
kono
parents:
diff changeset
7 int foo (char *s, char **ret)
kono
parents:
diff changeset
8 {
kono
parents:
diff changeset
9 int state=0;
kono
parents:
diff changeset
10 char c;
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 for (; *s && state != 4; s++)
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 c = *s;
kono
parents:
diff changeset
15 if (c == '*')
kono
parents:
diff changeset
16 {
kono
parents:
diff changeset
17 s++;
kono
parents:
diff changeset
18 break;
kono
parents:
diff changeset
19 }
kono
parents:
diff changeset
20 switch (state)
kono
parents:
diff changeset
21 {
kono
parents:
diff changeset
22 case 0:
kono
parents:
diff changeset
23 if (c == '+')
kono
parents:
diff changeset
24 state = 1;
kono
parents:
diff changeset
25 else if (c != '-')
kono
parents:
diff changeset
26 sum0+=c;
kono
parents:
diff changeset
27 break;
kono
parents:
diff changeset
28 case 1:
kono
parents:
diff changeset
29 if (c == '+')
kono
parents:
diff changeset
30 state = 2;
kono
parents:
diff changeset
31 else if (c == '-')
kono
parents:
diff changeset
32 state = 0;
kono
parents:
diff changeset
33 else
kono
parents:
diff changeset
34 sum1+=c;
kono
parents:
diff changeset
35 break;
kono
parents:
diff changeset
36 default:
kono
parents:
diff changeset
37 break;
kono
parents:
diff changeset
38 }
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 }
kono
parents:
diff changeset
41 *ret = s;
kono
parents:
diff changeset
42 return state;
kono
parents:
diff changeset
43 }