pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:12129:    arg_type = tmp3;       remap_flags ^= PT_FLAG_REMAP_SWAP_MARKERS;    }    if (!tmp2) {    if (flags & CALL_STRICT) goto no_match;    } else {    struct pike_type *bin_t =    low_type_binop(PT_BINOP_MINUS,    arg_type, tmp2, &remap, +  PT_FLAG_CMP_VOID_IS_ZERO|PT_FLAG_CMP_FUN_ARG,    PT_FLAG_CMP_VOID_IS_ZERO, -  PT_FLAG_CMP_VOID_IS_ZERO, +     remap_flags|PT_FLAG_REMAP_EVAL_MARKERS);       if (bin_t) {    /* Partial or strict mismatch. */    free_type(bin_t);       if ((flags & (CALL_INVERTED_TYPES|CALL_STRICT)) ||    (bin_t == arg_type)) {    goto no_match;    }       /* Partial matches allowed. */       arg_match = low_type_binop(PT_BINOP_AND,    arg_type, tmp2, &remap, -  +  PT_FLAG_CMP_VOID_IS_ZERO| +  PT_FLAG_CMP_FUN_ARG,    PT_FLAG_CMP_VOID_IS_ZERO, -  PT_FLAG_CMP_VOID_IS_ZERO, +     remap_flags);       if (!arg_match) {    no_match:    /* No match. */   #ifdef PIKE_DEBUG    if (l_flag>2) {    fprintf(stderr, "%*sNo match.\n", indent*2+2, "");    }   #endif /* PIKE_DEBUG */