diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr29128.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr29128.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr29128.c b/gcc/testsuite/gcc.c-torture/compile/pr29128.c new file mode 100644 index 000000000..2afeae3ce --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr29128.c @@ -0,0 +1,28 @@ +typedef unsigned long Eterm; +process_main (void) +{ + register Eterm x0; + register Eterm *reg = ((void *) 0); + register Eterm *I = ((void *) 0); + static void *opcodes[] = { + &&lb_allocate_heap_zero_III, + &&lb_allocate_init_tIy, &&lb_allocate_zero_tt + }; +lb_allocate_heap_III:{ + Eterm *next; + goto *(next); + } +lb_allocate_heap_zero_III:{ + } +lb_allocate_init_tIy:{ + } +lb_allocate_zero_tt:{ + Eterm *next; + { + Eterm *tmp_ptr = ((Eterm *) (((x0)) - 0x1)); + (*(Eterm *) (((unsigned char *) reg) + (I[(0) + 1]))) = ((tmp_ptr)[0]); + x0 = ((tmp_ptr)[1]); + } + goto *(next); + } +} |