pike.git / src / las.cmod

version» Context lines:

pike.git/src/las.cmod:3586:       if(!match_types(CAR(n)->type, mixed_type_string))    yyerror("Bad conditional expression.");       if (!CDR(n) || CDR(n)->type == void_type_string)    copy_pike_type(n->type, void_type_string);    else if(n->token == F_LAND || CAR(n)->type == CDR(n)->type)    {    copy_pike_type(n->type, CDR(n)->type);    }else{ +  if (n->token == F_LOR) { +  struct pike_type *tmp = +  type_binop(PT_BINOP_MINUS, CAR(n)->type, zero_type_string, +  0, PT_FLAG_CMP_VOIDABLE, 0); +  n->type = or_pike_types(tmp, CDR(n)->type, 0); +  free_type(tmp); +  } else {    n->type = or_pike_types(CAR(n)->type, CDR(n)->type, 0);    } -  +  }    break;       case F_APPEND_MAPPING:    if (!CAR(n) || (CAR(n)->type == void_type_string)) {    yyerror("Assigning a void expression.");    copy_pike_type(n->type, void_type_string);    }    else    /* FIXME: Not really correct, should calculate type of RHS. */    copy_pike_type(n->type, CAR(n)->type);