pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: docode.c,v 1.95 2001/01/14 21:05:38 grubba Exp $"); + RCSID("$Id: docode.c,v 1.96 2001/01/14 21:39:36 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:887:    current_switch_jumptable = prev_switch_jumptable;    POP_STATEMENT_LABEL;    POP_AND_DO_CLEANUP;    return 0;    }       case F_LOOP:    {    /* FIXME: No support for break or continue. */    PUSH_STATEMENT_LABEL; -  tmp1 = do_code(CAR(n)); +  tmp1 = do_docode(CAR(n), 0);    if (tmp1 > 0) {    do_pop(tmp1-1);    tmp2 = do_branch(-1);    tmp3 = ins_label(-1); -  PUSH_STATEMENT_LABEL; -  do_pop(do_code(CDR(n))); -  POP_STATEMENT_LABEL; +  DO_CODE_BLOCK(CDR(n));    ins_label(tmp2);    emit1(F_LOOP, tmp3);    }    POP_STATEMENT_LABEL;    return 0;    }       case F_DO:    {    INT32 *prev_switch_jumptable = current_switch_jumptable;