pike.git / src / language.yacc

version» Context lines:

pike.git/src/language.yacc:873:       for (e = 0; e <= Pike_compiler->compiler_frame->generator_local; e++) {    Pike_compiler->compiler_frame->variable[e].flags |=    LOCAL_VAR_IS_USED | LOCAL_VAR_USED_IN_SCOPE;    }       Pike_compiler->compiler_frame->lexical_scope |= SCOPE_SCOPE_USED;    }       e = $<number>8 + $9 - 1; -  if(Pike_compiler->varargs && +  if(Pike_compiler->varargs && $9 &&    (!$<number>8 || (Pike_compiler->num_create_args >= 0)))    {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    e--; -  +  if (Pike_compiler->compiler_frame->variable[e+1].type->type != T_ARRAY) { +  yywarning("Varargs variable is not an array!! (Internal error)"); +  } else {    pop_type_stack(T_ARRAY); -  +  compiler_discard_top_type(); +  }    }else{    push_type(T_VOID);    }    push_type(T_MANY);    for(; e>=0; e--)    {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    push_type(T_FUNCTION);    }   
pike.git/src/language.yacc:1073:    /* Change "auto" return type to actual return type. */    push_finished_type(Pike_compiler->compiler_frame->current_return_type->car);       e = $<number>8 + $9 - 1;    if(Pike_compiler->varargs &&    (!$<number>8 || (Pike_compiler->num_create_args >= 0)))    {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    e--;    pop_type_stack(T_ARRAY); +  compiler_discard_top_type();    }else{    push_type(T_VOID);    }    push_type(T_MANY);    for(; e>=0; e--)    {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    push_type(T_FUNCTION);    }   
pike.git/src/language.yacc:2340:       if (Pike_compiler->compiler_pass == COMPILER_PASS_FIRST) {    /* Define a tentative prototype for the lambda. */    push_finished_type(mixed_type_string);    e=$5-1;    if($<number>$)    {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    e--;    pop_type_stack(T_ARRAY); +  compiler_discard_top_type();    }else{    push_type(T_VOID);    }    Pike_compiler->varargs=0;    push_type(T_MANY);    for(; e>=0; e--) {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    push_type(T_FUNCTION);    }    type=compiler_pop_type();
pike.git/src/language.yacc:2398:    /* Tentative return type. */    push_type(T_MIXED);    }       e=$5-1;    if($<number>6)    {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    e--;    pop_type_stack(T_ARRAY); +  compiler_discard_top_type();    }else{    push_type(T_VOID);    }    Pike_compiler->varargs=0;    push_type(T_MANY);    for(; e>=0; e--) {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    push_type(T_FUNCTION);    }   
pike.git/src/language.yacc:2494:       /***/    push_finished_type(Pike_compiler->compiler_frame->current_return_type);       e=$3-1;    if(Pike_compiler->varargs)    {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    e--;    pop_type_stack(T_ARRAY); +  compiler_discard_top_type();    }else{    push_type(T_VOID);    }    push_type(T_MANY);    for(; e>=0; e--) {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    push_type(T_FUNCTION);    }       type=compiler_pop_type();
pike.git/src/language.yacc:2674:    }       Pike_compiler->compiler_frame->lexical_scope |= SCOPE_SCOPE_USED;       e=$3-1;    if(Pike_compiler->varargs)    {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    e--;    pop_type_stack(T_ARRAY); +  compiler_discard_top_type();    }else{    push_type(T_VOID);    }    push_type(T_MANY);    for(; e>=0; e--) {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    push_type(T_FUNCTION);    }       type=compiler_pop_type();
pike.git/src/language.yacc:3055:    }       /* First: Deduce the type for the create() function. */    push_type(T_VOID); /* Return type. */       if ((e = nargs) < 0) {    /* Varargs */    e = nargs = -nargs;    push_finished_type(Pike_compiler->compiler_frame->variable[--e].type);    pop_type_stack(T_ARRAY); /* Pop one level of array. */ +  compiler_discard_top_type();    } else {    /* Not varargs. */    push_type(T_VOID);    }    push_type(T_MANY);    while(e--) {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    push_type(T_FUNCTION);    }   
pike.git/src/language.yacc:3312:    }       /* First: Deduce the type for the create() function. */    push_type(T_VOID); /* Return type. */       if ((e = nargs) < 0) {    /* Varargs */    e = nargs = -nargs;    push_finished_type(Pike_compiler->compiler_frame->variable[--e].type);    pop_type_stack(T_ARRAY); /* Pop one level of array. */ +  compiler_discard_top_type();    } else {    /* Not varargs. */    push_type(T_VOID);    }    push_type(T_MANY);    while(e--) {    push_finished_type(Pike_compiler->compiler_frame->variable[e].type);    push_type(T_FUNCTION);    }