diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr27571.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr27571.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr27571.c b/gcc/testsuite/gcc.c-torture/compile/pr27571.c new file mode 100644 index 000000000..af66369c2 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr27571.c @@ -0,0 +1,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++; + } +} |