if(n->op != OAS)
fatal("convas: not as %O", n->op);
+ ullmancalc(n);
l = n->left;
r = n->right;
if(l == N || r == N)
if(c == 0 || t == 1)
return n;
if(c > 1) {
- yyerror("reorder1: too many funcation calls evaluating parameters");
+ yyerror("reorder1: too many function calls evaluating parameters");
return n;
}
goto pass2;
pass2:
l = listfirst(&save, &n);
- f = N; // isolated function call
- r = N; // rest of them
+ r = N; // rest
+ f = N; // fncall
loop2:
if(l == N) {
- if(r == N || f == N)
- fatal("reorder1 not nil 1");
r = nod(OLIST, f, r);
- return rev(r);
+ r = rev(r);
+ return r;
}
- if(l->ullman >= UINF) {
- if(f != N)
- fatal("reorder1 not nil 2");
+ if(l->ullman >= UINF)
f = l;
- } else
+ else
if(r == N)
r = l;
else