utah rcsid 1.7 87/04/17 03:32:04: Don't zap conversions of function calls
authorDonn Seeley <donn@ucbvax.Berkeley.EDU>
Fri, 11 Dec 1987 14:53:35 +0000 (06:53 -0800)
committerDonn Seeley <donn@ucbvax.Berkeley.EDU>
Fri, 11 Dec 1987 14:53:35 +0000 (06:53 -0800)
-- the result of a call isn't quite the type it appears to be.

SCCS-vsn: old/pcc/ccom.tahoe/local2.c 1.16

usr/src/old/pcc/ccom.tahoe/local2.c

index df5a77b..35178d9 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)local2.c   1.15 (Berkeley) %G%";
+static char sccsid[] = "@(#)local2.c   1.16 (Berkeley) %G%";
 #endif
 
 # include "pass2.h"
 #endif
 
 # include "pass2.h"
@@ -1262,6 +1262,7 @@ optim2( p ) register NODE *p; {
                l = p->in.left;
                /* clobber conversions w/o side effects */
                if (!anyfloat(p, l) && l->in.op != PCONV &&
                l = p->in.left;
                /* clobber conversions w/o side effects */
                if (!anyfloat(p, l) && l->in.op != PCONV &&
+                   l->in.op != CALL && l->in.op != UNARY CALL &&
                    tlen(p) == tlen(l)) {
                        if (l->in.op != FLD)
                                l->in.type = p->in.type;
                    tlen(p) == tlen(l)) {
                        if (l->in.op != FLD)
                                l->in.type = p->in.type;