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.190 2007/10/06 13:45:22 grubba Exp $ + || $Id: docode.c,v 1.191 2007/12/17 18:02:35 grubba Exp $   */      #include "global.h"   #include "las.h"   #include "program.h"   #include "pike_types.h"   #include "stralloc.h"   #include "interpret.h"   #include "constants.h"   #include "array.h"
pike.git/src/docode.c:818: Inside #if defined(PIKE_DEBUG)
   current_label->cleanups->cleanup != do_pop_to_mark))    Pike_fatal("F_PUSH_ARRAY unexpected in this context.\n");   #endif    current_label->cleanups->cleanup = do_pop_to_mark;    }    code_expression(CAR(n), 0, "`@");    emit0(F_PUSH_ARRAY);    return 0;    }    +  case F_APPEND_ARRAY: { +  emit0(F_MARK); +  PUSH_CLEANUP_FRAME(do_pop_mark, 0); +  do_docode(CAR(n),DO_LVALUE); +  emit0(F_CONST0); /* Reserved for svalue. */ +  do_docode(CDR(n),0); +  emit0(F_APPEND_ARRAY); +  POP_AND_DONT_CLEANUP; +  return 1; +  } +     case '?':    {    INT32 *prev_switch_jumptable = current_switch.jumptable;    int adroppings , bdroppings;    current_switch.jumptable=0;          if(!CDDR(n))    {    tmp1=alloc_label();