diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/graphite/pr38084.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/pr38084.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/graphite/pr38084.c b/gcc/testsuite/gcc.dg/graphite/pr38084.c new file mode 100644 index 000000000..7193f9600 --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr38084.c @@ -0,0 +1,31 @@ +/* { dg-options "-O3 -fgraphite-identity" } */ + +typedef struct { + unsigned int avail_out; + void *state; +} stream; + +typedef struct { + stream* test; + int num; +} state_in; + +int test_in ( stream *test, int action ) +{ + state_in* tst; + if (test == ((void *)0)) return (-2); + if (tst == ((void *)0)) return (-2); + if (tst->test != test) return (-2); + jump_here: + switch (tst->num) { + case 1: + return (-1); + case 2: + if (action == 0) { + } + if (action == 1) { + goto jump_here; + } + } + return 0; +} |