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.80 2000/08/24 04:04:40 hubbe Exp $"); + RCSID("$Id: docode.c,v 1.81 2000/09/08 16:32:59 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 "error.h"   #include "pike_memory.h"
pike.git/src/docode.c:20:   #include "main.h"   #include "builtin_functions.h"   #include "peep.h"   #include "docode.h"   #include "operators.h"   #include "object.h"   #include "opcodes.h"   #include "language.h"   #include "lex.h"    - static int do_docode2(node *n,int flags); + static int do_docode2(node *n, INT16 flags);      INT32 current_break=-1;   INT32 current_continue=-1;      static INT32 current_switch_case;   static INT32 current_switch_default;   static INT32 current_switch_values_on_stack;   static INT32 *current_switch_jumptable =0;   static struct pike_string *current_switch_type = NULL;   
pike.git/src/docode.c:67:    switch(x)    {    case 0: return;    case 1: emit0(F_POP_VALUE); break;    default: emit1(F_POP_N_ELEMS,x); break;    }   }      #define DO_CODE_BLOCK(X) do_pop(do_docode((X),DO_NOT_COPY | DO_POP | DO_DEFER_POP))    - int do_docode(node *n,INT16 flags) + int do_docode(node *n, INT16 flags)   {    int i;    int save_current_line=lex.current_line;    if(!n) return 0;    lex.current_line=n->line_number;    i=do_docode2(check_node_hash(n), flags);       lex.current_line=save_current_line;    return i;   }      static int is_efun(node *n, c_fun fun)   {    return n && n->token == F_CONSTANT &&    n->u.sval.subtype == FUNCTION_BUILTIN &&    n->u.sval.u.efun->function == fun;   }    - static void code_expression(node *n, int flags, char *err) + static void code_expression(node *n, INT16 flags, char *err)   {    switch(do_docode(check_node_hash(n), flags & ~ DO_POP))    {    case 0: my_yyerror("Void expression for %s",err);    case 1: return;    case 2:    fatal("Internal compiler error (%s), line %ld, file %s\n",    err,    (long)lex.current_line,    lex.current_file?lex.current_file->str:"Unknown");
pike.git/src/docode.c:226: Inside #if 1
   }    }    }   #endif    emit0(F_MARK);    do_docode(args,0);    emit1(F_CALL_LFUN, id);    return 1;   }    - static int do_docode2(node *n,int flags) + static int do_docode2(node *n, INT16 flags)   {    ptrdiff_t tmp1,tmp2,tmp3;       if(!n) return 0;       if(flags & DO_LVALUE)    {    switch(n->token)    {    default: