(i.e. stored in less than a word)
SCCS-vsn: usr.bin/pascal/pdx/tree/eval.c 1.5
/* Copyright (c) 1982 Regents of the University of California */
/* Copyright (c) 1982 Regents of the University of California */
-static char sccsid[] = "@(#)eval.c 1.4 %G%";
+static char sccsid[] = "@(#)eval.c 1.5 %G%";
/*
* Parse tree evaluation.
/*
* Parse tree evaluation.
if (isreal(p->op)) {
fr1 = pop(double);
} else if (isint(p->op)) {
if (isreal(p->op)) {
fr1 = pop(double);
} else if (isint(p->op)) {
+ r1 = popsmall(p->right->nodetype);
}
/* fall through */
case UNARY:
}
/* fall through */
case UNARY:
if (isreal(p->op)) {
fr0 = pop(double);
} else if (isint(p->op)) {
if (isreal(p->op)) {
fr0 = pop(double);
} else if (isint(p->op)) {
+ r0 = popsmall(p->left->nodetype);
/*
* Get the value of the expression addressed by the top of the stack.
/*
* Get the value of the expression addressed by the top of the stack.
- * Push the result back on the stack. Never push less than a long.
+ * Push the result back on the stack.