pike.git / src / docode.c

version» Context lines:

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.162 2003/08/18 15:11:38 mast Exp $ + || $Id: docode.c,v 1.163 2003/09/11 19:23:54 mast Exp $   */      #include "global.h" - RCSID("$Id: docode.c,v 1.162 2003/08/18 15:11:38 mast Exp $"); + RCSID("$Id: docode.c,v 1.163 2003/09/11 19:23:54 mast 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:1248:    current_stack_depth+=2;    }       PUSH_CLEANUP_FRAME(do_pop, 5);       PUSH_STATEMENT_LABEL;    current_switch.jumptable=0;    current_label->break_label=alloc_label();    current_label->continue_label=alloc_label();    -  tmp3=do_branch(-1); +  /* Doubt it's necessary to use a label separate from +  * current_label->break_label, but I'm playing safe. /mast */ +  tmp3 = alloc_label(); +  do_jump(F_FOREACH_START, DO_NOT_WARN((INT32) tmp3));    tmp1=ins_label(-1);    DO_CODE_BLOCK(CDR(n));    ins_label(current_label->continue_label); -  low_insert_label( DO_NOT_WARN((INT32)tmp3)); -  do_jump(F_NEW_FOREACH, DO_NOT_WARN((INT32)tmp1)); +  do_jump(F_FOREACH_LOOP, DO_NOT_WARN((INT32)tmp1));    ins_label(current_label->break_label); -  +  low_insert_label( DO_NOT_WARN((INT32)tmp3));       current_switch.jumptable = prev_switch_jumptable;    POP_STATEMENT_LABEL;    POP_AND_DO_CLEANUP;    BLOCK_END;    return 0;    }          BLOCK_BEGIN;