pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:4720:    *    * T_MANY(A, X) - T_MANY(~A, Y) == T_MANY(A, X - Y)    *    * T_MANY(A, X) - T_MANY(B, Y) ==    * T_OR(T_MANY(A, X - Y),    * T_AND(T_MANY(A, X),    * T_NOT(T_MANY(T_NOT(A - B), T_MIXED))))    */    if (avoidable && bvoidable) {    /* FIXME: What if tmp only differs due to remapping? */ +  if (tmp && tmp->type == T_VOID) { +  free_type(tmp); +  tmp = NULL; +  }    if (tmp != a->car) {    if (!tmp) { -  push_remap_markers(a->cdr, NULL, remap, remap_flags); +  tmp = low_type_binop(op, a->cdr, b->cdr, remap, +  PT_FLAG_CMP_VOIDABLE, +  0, remap_flags); +  if (tmp) { +  push_finished_type(tmp);    push_type(T_VOID);    push_type(T_MANY); -  +  free_type(tmp);    return pop_unfinished_type();    } -  +  pop_stack_mark(); +  return NULL; +  }    /* FIXME: What about tmp->type == T_VOID? */    push_type(T_MIXED);    push_finished_type(tmp);    push_type(T_NOT);    push_type(T_MANY);    push_type(T_NOT);    push_remap_markers(a, NULL, remap, remap_flags);    push_type(T_AND);    free_type(tmp);