X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=cc_runtime.h;h=fe830c0bde130a3d039d6260a89dd3a4a67e8204;hb=1a159553554948091ed2e3b1cf5953ca46e63bc5;hp=7d28ff5bb961b89bd1871b05eea830cb20fa9347;hpb=1163b5c41f1e1e2856ca82fef1598bfbb6c54d72;p=p5sagit%2Fp5-mst-13.2.git diff --git a/cc_runtime.h b/cc_runtime.h index 7d28ff5..fe830c0 100644 --- a/cc_runtime.h +++ b/cc_runtime.h @@ -38,22 +38,22 @@ /* Anyone using eval "" deserves this mess */ #define PP_EVAL(ppaddr, nxt) do { \ dJMPENV; \ - int jmpstat; \ + int ret; \ PUTBACK; \ - JMPENV_PUSH(jmpstat); \ - switch (jmpstat) { \ - case JMP_NORMAL: \ + JMPENV_PUSH(ret); \ + switch (ret) { \ + case 0: \ op = ppaddr(ARGS); \ retstack[retstack_ix - 1] = Nullop; \ if (op != nxt) runops(); \ JMPENV_POP; \ break; \ - case JMP_ABNORMAL: JMPENV_POP; JMPENV_JUMP(JMP_ABNORMAL); \ - case JMP_MYEXIT: JMPENV_POP; JMPENV_JUMP(JMP_MYEXIT); \ - case JMP_EXCEPTION: \ + case 1: JMPENV_POP; JMPENV_JUMP(1); \ + case 2: JMPENV_POP; JMPENV_JUMP(2); \ + case 3: \ JMPENV_POP; \ if (restartop != nxt) \ - JMPENV_JUMP(JMP_EXCEPTION); \ + JMPENV_JUMP(3); \ } \ op = nxt; \ SPAGAIN; \ @@ -64,8 +64,8 @@ int ret; \ JMPENV_PUSH(ret); \ switch (ret) { \ - case JMP_ABNORMAL: JMPENV_POP; JMPENV_JUMP(JMP_ABNORMAL); \ - case JMP_MYEXIT: JMPENV_POP; JMPENV_JUMP(JMP_MYEXIT); \ - case JMP_EXCEPTION: JMPENV_POP; SPAGAIN; goto label;\ + case 1: JMPENV_POP; JMPENV_JUMP(1); \ + case 2: JMPENV_POP; JMPENV_JUMP(2); \ + case 3: JMPENV_POP; SPAGAIN; goto label;\ } \ } while (0)