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.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{