pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:3927:    break;    }    }    else if(Pike_compiler->compiler_frame &&    Pike_compiler->compiler_frame->current_return_type)    {    struct pike_type *t = Pike_compiler->compiler_frame->current_return_type;       if( t->type == PIKE_T_AUTO )    { +  type_stack_mark();    if( t->car != zero_type_string )    {    /* Not the first one.. */    struct pike_type *t2;    push_finished_type( t2 = or_pike_types( t->car, CAR(n)->type, 1 ) );    free_type(t2);    }    else    {    /* first one.. */    push_finished_type(CAR(n)->type);    }    push_type(PIKE_T_AUTO);    free_type( t ); -  t = pop_type(); +  t = pop_unfinished_type();    Pike_compiler->compiler_frame->current_return_type = t;    } else {    node *retval = CAR(n);    if (retval->token == F_COMMA_EXPR) {    retval = CDR(retval);    }    if ((Pike_compiler->compiler_frame->current_return_type !=    void_type_string) ||    (retval->token != F_CONSTANT) ||    !SAFE_IS_ZERO(&retval->u.sval)) {