pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:3716:    copy_pike_type(n->type, CAR(n)->type);    } else {    _CAR(n) = mknode(F_COMMA_EXPR, CAR(n), mkintnode(0));    copy_pike_type(n->type, CDAR(n)->type);    }    break;    }    else if(Pike_compiler->compiler_frame &&    Pike_compiler->compiler_frame->current_return_type)    { -  if ((Pike_compiler->compiler_frame->current_return_type != -  void_type_string)) { +     struct pike_type *t = Pike_compiler->compiler_frame->current_return_type;       if( t->type == PIKE_T_AUTO )    {    if( t->car )    {    /* Not the first one.. */    push_auto_typed_type( or_pike_types( t->car, CAR(n)->type, 0 ) );    }    else    {    /* first one.. */ -  push_auto_typed_type( CAR(n)->type ); +  push_auto_typed_type( CAR(n)->type );    }    free_type( t );    t = pop_type();    Pike_compiler->compiler_frame->current_return_type = t; -  } -  else if(CAR(n)->token != F_CONSTANT || !SAFE_IS_ZERO(&CAR(n)->u.sval)) +  } else if ((Pike_compiler->compiler_frame->current_return_type != +  void_type_string) || +  (CAR(n)->token != F_CONSTANT) || +  !SAFE_IS_ZERO(&CAR(n)->u.sval)) {    check_node_type(CAR(n), t, "Wrong return type.");    }    }    copy_pike_type(n->type, void_type_string);    break;       case F_CASE_RANGE:    if (CDR(n) && CAR(n)) {    fix_type_field(CAR(n));    fix_type_field(CDR(n));