pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
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.
168
2003/09/19 13:
08
:
07
grubba Exp $
+
|| $Id: docode.c,v 1.
169
2003/09/19 13:
37
:
22
grubba Exp $
*/ #include "global.h"
-
RCSID("$Id: docode.c,v 1.
168
2003/09/19 13:
08
:
07
grubba Exp $");
+
RCSID("$Id: docode.c,v 1.
169
2003/09/19 13:
37
:
22
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 "pike_error.h" #include "pike_memory.h"
pike.git/src/docode.c:592:
default: my_yyerror("docode: Failed to make svalue for builtin %s",func); } free_node(n); } static int do_docode2(node *n, int flags) { ptrdiff_t tmp1,tmp2,tmp3;
+
int ret;
if(!n) return 0; if(flags & DO_LVALUE) { switch(n->token) { default: yyerror("Illegal lvalue."); emit1(F_NUMBER,0);
pike.git/src/docode.c:1208:
do_jump_when_non_zero(CAR(n), DO_NOT_WARN((INT32)tmp2)); ins_label(current_label->break_label); current_switch.jumptable = prev_switch_jumptable; POP_STATEMENT_LABEL; BLOCK_END; return 0; } case ' ':
-
return
do_docode(CAR(n),0)
+do
_docode(CDR(n),DO_LVALUE);
+
ret
=
do_docode(CAR(n),0)
;
+
return ret + do
_docode(CDR(n),DO_LVALUE);
case F_FOREACH: { node *arr; INT32 *prev_switch_jumptable = current_switch.jumptable; arr=CAR(n); if(CDR(arr) && CDR(arr)->token == ':') { BLOCK_BEGIN;
pike.git/src/docode.c:1967:
current_switch.jumptable = prev_switch_jumptable; ins_label(DO_NOT_WARN((INT32)tmp1)); current_stack_depth++; POP_AND_DONT_CLEANUP; return 1; } case F_LVALUE_LIST:
-
return
do_docode(CAR(n),DO_LVALUE)
+do
_docode(CDR(n),DO_LVALUE);
+
ret
=
do_docode(CAR(n),DO_LVALUE)
;
+
return ret + do
_docode(CDR(n),DO_LVALUE);
case F_ARRAY_LVALUE: tmp1=do_docode(CAR(n),DO_LVALUE); #ifdef PIKE_DEBUG if(tmp1 & 1) Pike_fatal("Very internal compiler error.\n"); #endif emit1(F_ARRAY_LVALUE, DO_NOT_WARN((INT32)(tmp1>>1))); return 2;