pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/docode.c:1:
/* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: docode.c,v 1.
151
2002/
10
/
25
13
:
13
:
57
marcus
Exp $
+
|| $Id: docode.c,v 1.
152
2002/
11
/
06
16
:
16
:
34
grubba
Exp $
*/ #include "global.h"
-
RCSID("$Id: docode.c,v 1.
151
2002/
10
/
25
13
:
13
:
57
marcus
Exp $");
+
RCSID("$Id: docode.c,v 1.
152
2002/
11
/
06
16
:
16
:
34
grubba
Exp $");
#include "las.h" #include "program.h" #include "pike_types.h" #include "stralloc.h" #include "interpret.h" #include "constants.h" #include "array.h" #include "pike_macros.h" #include "pike_error.h" #include "pike_memory.h"
pike.git/src/docode.c:1880:
tmp2=do_docode(CDR(n),DO_NOT_COPY | DO_LVALUE); emit1(F_SSCANF, DO_NOT_WARN((INT32)(tmp1+tmp2))); return 1; case F_CATCH: { INT32 *prev_switch_jumptable = current_switch.jumptable; tmp1=do_jump(F_CATCH,-1); PUSH_CLEANUP_FRAME(do_escape_catch, 0);
+
/* Entry point called by eval_instruction() via o_catch(). */
+
emit0(F_ENTRY);
+
PUSH_STATEMENT_LABEL; current_switch.jumptable=0; current_label->break_label=alloc_label(); if (TEST_COMPAT(7,0)) current_label->continue_label = current_label->break_label; in_catch++; DO_CODE_BLOCK(CAR(n)); in_catch--;