Ticket #376: setjumptest.d
| File setjumptest.d, 405 bytes (added by mp4, 3 years ago) |
|---|
| Line | |
|---|---|
| 1 | import setjump; |
| 2 | import tango.io.Stdout; |
| 3 | jmp_buf x; |
| 4 | |
| 5 | void f() |
| 6 | { |
| 7 | longjmp(x,5); |
| 8 | } |
| 9 | |
| 10 | int main() |
| 11 | { |
| 12 | int i = 0; |
| 13 | x.eip=0; |
| 14 | if ( (i = setjmp(x)) == 0 ) |
| 15 | { |
| 16 | Stdout("{}",x.eip); |
| 17 | f(); |
| 18 | } |
| 19 | else |
| 20 | { |
| 21 | switch( i ) |
| 22 | { |
| 23 | case 1: |
| 24 | case 2: |
| 25 | default: Stdout( "error code = {}\n", i); break; |
| 26 | } |
| 27 | } |
| 28 | return 0; |
| 29 | } |

