pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:5924:    if (bret) {    Pike_fatal("Unsupported type operation.\n");    }    }       if (avoidable & bvoidable & PT_FLAG_CMP_VOIDABLE) {    /* Both a & b are T_MANY. Check the return type. */    if (!aret) aret = ai->cdr;    if (!bret) bret = bi->cdr;    -  /* NB: Ignore the return type if matching against void. */ -  if (bret != void_type_string) { +  /* NB: Ignore the return type if matching against void or mixed. */ +  if ((bret != void_type_string) && (bret != mixed_type_string)) {    tmp = low_type_binop(PT_BINOP_MINUS, aret, bret, remap, -  PT_FLAG_CMP_VOIDABLE, 0, remap_flags); +  PT_FLAG_CMP_VOIDABLE|PT_FLAG_CMP_VOID_IS_ZERO, +  0, remap_flags);       if (tmp) {    /* Not full overlap for the return value. */    push_finished_type(tmp);    push_remap_markers(ai->car, remap, remap_flags);    push_type(T_MANY);    free_type(tmp);    } else {    push_type(PIKE_T_UNKNOWN);    }