pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
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.
62
2000/01/04
00
:
39
:
04
grubba Exp $");
+
RCSID("$Id: docode.c,v 1.
63
2000/01/04
01
:
29
:
11
grubba 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:956:
{ yyerror("Error in case label."); push_int(0); tmp1=1; } pop_n_elems(tmp1-1); current_switch_values_on_stack++; for(tmp1=current_switch_values_on_stack; tmp1 > 1; tmp1--) if(is_equal(sp-tmp1, sp-1)) yyerror("Duplicate case.");
-
+
} else {
+
push_int(0);
+
current_switch_values_on_stack++;
+
}
current_switch_jumptable[current_switch_case++]=ins_label(-1); if(CDR(n)) { current_switch_jumptable[current_switch_case]= current_switch_jumptable[current_switch_case-1]; current_switch_case++; if(CAR(n)) {
pike.git/src/docode.c:987:
{ yyerror("Error in second half of case label."); push_int(0); tmp1=1; } pop_n_elems(tmp1-1); current_switch_values_on_stack++; for(tmp1=current_switch_values_on_stack; tmp1 > 1; tmp1--) if(is_equal(sp-tmp1, sp-1)) yyerror("Duplicate case.");
+
} else {
+
push_int(0);
+
current_switch_values_on_stack++;
} current_switch_jumptable[current_switch_case++]=-1; } }else{ current_switch_jumptable[current_switch_case++]=-1; } }
-
}
+
return 0; } case F_DEFAULT: if(!current_switch_jumptable) { yyerror("Default outside switch."); }else if(current_switch_default!=-1){ yyerror("Duplicate switch default."); }else{