Branch: Tag:

2016-10-31

2016-10-31 11:37:00 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Type checker]: Some check_variant_overload() fixes.

4414:    if (!low_pike_types_le(b_tmp, a_tmp, 0, flags ^ LE_A_B_SWAPPED)) {    return 0;    } +  } else if (flags & LE_TYPE_SVALUE) { +  /* Note: flags never has grouping at this point. */ +  if (!low_pike_types_le(b_tmp, zero_type_string, 0, +  flags ^ LE_A_B_SWAPPED)) { +  return 0;    }    } -  +  }    /* FALL_THROUGH */    case TWOT(T_MANY, T_MANY):    /* check the 'many' type */
4424:    if (!low_pike_types_le(b->car, a->car, 0, flags ^ LE_A_B_SWAPPED)) {    return 0;    } +  } else if ((flags & LE_TYPE_SVALUE) && (a->car->type != b->car->type)) { +  if (a->car->type == T_VOID) { +  /* Note: flags never has grouping at this point. */ +  if (!low_pike_types_le(b->car, zero_type_string, 0, +  flags ^ LE_A_B_SWAPPED)) { +  return 0;    } -  +  } else { +  /* Note: flags never has grouping at this point. */ +  if (!low_pike_types_le(zero_type_string, a->car, 0, +  flags ^ LE_A_B_SWAPPED)) { +  return 0; +  } +  } +  }       a = a->cdr;    b = b->cdr;