diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20040302-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20040302-1.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040302-1.c b/gcc/testsuite/gcc.c-torture/execute/20040302-1.c new file mode 100644 index 000000000..07056c43f --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20040302-1.c @@ -0,0 +1,24 @@ +int code[]={0,0,0,0,1}; + +void foo(int x) { + volatile int b; + b = 0xffffffff; +} + +void bar(int *pc) { + static const void *l[] = {&&lab0, &&end}; + + foo(0); + goto *l[*pc]; + lab0: + foo(0); + pc++; + goto *l[*pc]; + end: + return; +} + +int main() { + bar(code); + return 0; +} |