Branch: Tag:

2022-04-09

2022-04-09 09:01:45 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix infinite loop.

5304:    case TWOT(T_PROGRAM, T_PROGRAM):    case TWOT(T_PROGRAM, T_FUNCTION):    case TWOT(T_PROGRAM, T_MANY): +  case TWOT(T_PROGRAM, PIKE_T_TRANSITIVE):    aret = a->car;    a = low_object_lfun_type(aret, LFUN_CREATE);    if (!a) {
5313:       case TWOT(T_FUNCTION, T_PROGRAM):    case TWOT(T_MANY, T_PROGRAM): +  case TWOT(PIKE_T_TRANSITIVE, T_PROGRAM):    bret = b->car;    b = low_object_lfun_type(bret, LFUN_CREATE);    if (!b) {
5354:    }    /* FALLTHRU */    case TWOT(PIKE_T_TRANSITIVE, T_FUNCTION): -  case TWOT(PIKE_T_TRANSITIVE, T_PROGRAM): +     tmp = expand_transitive(a, NULL, 0);    ret = low_type_binop(op, tmp, b, remap, aflags, bflags, remap_flags);    free_type(tmp);
5378:    }    /* FALLTHRU */    case TWOT(T_FUNCTION, PIKE_T_TRANSITIVE): -  case TWOT(T_PROGRAM, PIKE_T_TRANSITIVE): +     tmp = expand_transitive(b, NULL, 0);    ret = low_type_binop(op, a, tmp, remap, aflags, bflags, remap_flags);    free_type(tmp);