pike.git/
src/
pike_types.cmod
Branch:
Tag:
Non-build tags
All tags
No tags
2022-04-09
2022-04-09 09:01:45 by Henrik Grubbström (Grubba) <grubba@grubba.org>
ceaee42b90a60081db4b5d564b293f79ddf5ae20 (
5
lines) (+
3
/-
2
)
[
Show
|
Annotate
]
Branch:
master
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);