pike.git/
src/
pike_types.cmod
Branch:
Tag:
Non-build tags
All tags
No tags
2021-02-20
2021-02-20 14:16:42 by Henrik Grubbström (Grubba) <grubba@grubba.org>
3be0115d712a1216b0b630c958d48d53a16eefb2 (
52
lines) (+
52
/-
0
)
[
Show
|
Annotate
]
Branch:
master
Compiler
[Typechecker]
: Improved handling of NULL in or_pike_types().
3112:
} break; case T_MAPPING:
+
if (!t1->car) {
+
t = t1;
+
ret = -1;
+
break;
+
}
+
if (!t2->car) {
+
t = t2;
+
ret = 1;
+
break;
+
}
if (t1->car->type < t2->car->type) { t = t1; ret = -1;
3122:
ret = 1; break; }
+
if (!t1->cdr) {
+
t = t1;
+
ret = -1;
+
break;
+
}
+
if (!t2->cdr) {
+
t = t2;
+
ret = 1;
+
break;
+
}
if (t1->cdr->type < t2->cdr->type) { t = t1; ret = -1;
3136:
ret = -1; break; case T_ARRAY:
+
if (!t1->cdr) {
+
if (!t2->cdr) {
+
/* Probably not reached as t1 and t2 ought to be equal. */
+
t = t1;
+
ret = 0;
+
break;
+
}
+
t = t1;
+
ret = -1;
+
break;
+
}
+
if (!t2->cdr) {
+
t = t2;
+
ret = 1;
+
break;
+
}
if (t1->cdr->type < t2->cdr->type) { t = t1; ret = -1;
3154:
} break; case T_MULTISET:
+
if (!t1->car) {
+
if (!t2->car) {
+
t = t1;
+
ret = 0;
+
break;
+
}
+
t = t1;
+
ret = -1;
+
break;
+
}
+
if (!t2->car) {
+
t = t2;
+
ret = 1;
+
break;
+
}
if (t1->car->type < t2->car->type) { t = t1; ret = -1;