pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:4490:    } else if (op & PT_BINOP_NOR) {    type_stack_mark();    push_type(T_MIXED);    push_type(T_VOID);    push_type(T_OR);    return pop_unfinished_type();    }    return NULL;    }    +  full_loop:    if (a == b) {    if (op & PT_BINOP_AND) {    /* FIXME: Perform masking of remap_flags here. */    return remap_markers(a, NULL, remap,    remap_flags | PT_FLAG_REMAP_BOTH_MARKERS_AND);    } else {    return NULL;    }    }   
pike.git/src/pike_types.cmod:5195:    push_reverse_type(T_FUNCTION);    }    return pop_unfinished_type();       function_fail:    compiler_discard_type();    return NULL;    }       case TWOT(T_VOID, T_ZERO): +  if (aflags & PT_FLAG_CMP_VOID_IS_ZERO) { +  a = zero_type_string; +  goto full_loop; +  }    if (op & PT_BINOP_AND) {    if (bflags & PT_FLAG_CMP_VOIDABLE) {    /* Return void. */    add_ref(a);    return a;    }    /* Return zero. */    add_ref(b);    return b;    } else if (op & PT_BINOP_MINUS) {    if (!(bflags & PT_FLAG_CMP_VOIDABLE)) {    /* Return void. */    add_ref(a);    return a;    }    }    return NULL;       case TWOT(T_ZERO, T_VOID): -  +  if (bflags & PT_FLAG_CMP_VOID_IS_ZERO) { +  b = zero_type_string; +  goto full_loop; +  }    if (op & PT_BINOP_AND) {    if (aflags & PT_FLAG_CMP_VOIDABLE) {    /* Return void. */    add_ref(b);    return b;    }    /* Return zero. */    add_ref(a);    return a;    } else if (op & PT_BINOP_MINUS) {