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.49 1999/08/03 00:45:09 hubbe Exp $"); + RCSID("$Id: docode.c,v 1.50 1999/09/16 23:56:09 hubbe Exp $");   #include "las.h"   #include "program.h"   #include "language.h"   #include "pike_types.h"   #include "stralloc.h"   #include "interpret.h"   #include "constants.h"   #include "array.h"   #include "pike_macros.h"   #include "error.h"
pike.git/src/docode.c:228:    }       if(flags & DO_LVALUE_IF_POSSIBLE)    {    flags|=DO_INDIRECT;    flags &=~DO_LVALUE_IF_POSSIBLE;    }else{    flags &=~DO_INDIRECT;    }    +  /* Stack check */ +  { +  long x_= ((char *)&x_) + STACK_DIRECTION * (32768) - stack_top ; +  x_*=STACK_DIRECTION; +  if(x_>0) +  { +  yyerror("Too dep recursion in compiler. (please report this)"); +  +  emit(F_NUMBER,0); +  if(flags & DO_LVALUE) +  { +  emit(F_NUMBER,0); +  return 2; +  } +  return 1; +  } +  } +     switch(n->token)    {    case F_MAGIC_INDEX:    case F_MAGIC_SET_INDEX:    emit(F_LDA, n->u.node.a->u.sval.u.integer);    emit(n->token, n->u.node.b->u.sval.u.integer);    return 1;       case F_EXTERNAL:    emit(F_LDA, n->u.integer.a);