Branch: Tag:

2000-12-04

2000-12-04 21:31:14 by Martin Nilsson <mani@lysator.liu.se>

Reverted continue in catch (created infinit loops in some code)

Rev: src/docode.c:1.88

5:   \*/   /**/   #include "global.h" - RCSID("$Id: docode.c,v 1.87 2000/12/02 14:57:32 grubba Exp $"); + RCSID("$Id: docode.c,v 1.88 2000/12/04 21:31:14 nilsson Exp $");   #include "las.h"   #include "program.h"   #include "pike_types.h"
1198:    {    /* FIXME: Pike 7.0 compatibility? */    INT32 break_save = current_break; -  /* INT32 continue_save = current_continue; */ +  INT32 continue_save = current_continue;    INT32 *prev_switch_jumptable = current_switch_jumptable;       current_switch_jumptable=0;    current_break=alloc_label(); -  /* current_continue=alloc_label(); */ +  current_continue=alloc_label();       tmp1=do_jump(F_CATCH,-1);    DO_CODE_BLOCK(CAR(n)); -  /* ins_label(current_continue); */ +  ins_label(current_continue);    ins_label(current_break);    emit0(F_THROW_ZERO);    ins_label(DO_NOT_WARN((INT32)tmp1));       current_break=break_save; -  /* current_continue=continue_save; */ +  current_continue=continue_save;    current_switch_jumptable = prev_switch_jumptable;    return 1;    }