| Eric Christopher | a11d129 | 2011-07-26 00:57:50 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -emit-llvm %s -o /dev/null |
| 2 | |||||
| 3 | int code[]={0,0,0,0,1}; | ||||
| 4 | void foo(int x) { | ||||
| 5 | volatile int b; | ||||
| 6 | b = 0xffffffff; | ||||
| 7 | } | ||||
| 8 | void bar(int *pc) { | ||||
| 9 | static const void *l[] = {&&lab0, &&end}; | ||||
| 10 | |||||
| 11 | foo(0); | ||||
| 12 | goto *l[*pc]; | ||||
| 13 | lab0: | ||||
| 14 | foo(0); | ||||
| 15 | pc++; | ||||
| 16 | goto *l[*pc]; | ||||
| 17 | end: | ||||
| 18 | return; | ||||
| 19 | } | ||||
| 20 | int main() { | ||||
| 21 | bar(code); | ||||
| 22 | return 0; | ||||
| 23 | } | ||||