summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/pr27571.c
blob: af66369c2c4188e416c7a1f541b2564d1f4c8d2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* PR target/27571
   alpha_does_function_need_gp did not properly skip jump table insns  */

int r3isseparator(int);
void r3isdigit(int);
void r3decimalvalue(int);

void r7todouble(int *storage, int *count) {
    int i = 0;
    int state = 0;
    int cc = 0;
    while (i > *count) {
	cc = *storage;
	switch (state) {
	case 0:
	    if (r3isseparator(cc))
		state = 1;
	case 1:
	    r3isdigit(cc);
	case 2:
	case 5:
	case 6:
	    r3decimalvalue(cc);
	}
	i++;
    }
}