Error ("Invalid operands for binary operator `+'");
}
- } else {
+ } else {
/* lhs is a constant and rhs is not constant. Load rhs into
* the primary.
} else {
/* OOPS */
Error ("Invalid operands for binary operator `+'");
+ flags = CF_INT;
}
/* Result is a rvalue in primary register */
} else {
/* OOPS */
Error ("Invalid operands for binary operator `+'");
+ flags = CF_INT;
}
/* Generate code for the add */
} else {
/* OOPS */
Error ("Invalid operands for binary operator `+'");
+ flags = CF_INT;
}
/* Generate code for the add */
*/
{
ExprDesc Expr2;
- unsigned flags; /* Operation flags */
- Type* lhst; /* Type of left hand side */
- Type* rhst; /* Type of right hand side */
- CodeMark Mark1; /* Save position of output queue */
+ unsigned flags; /* Operation flags */
+ Type* lhst; /* Type of left hand side */
+ Type* rhst; /* Type of right hand side */
+ CodeMark Mark1; /* Save position of output queue */
CodeMark Mark2; /* Another position in the queue */
- int rscale; /* Scale factor for the result */
+ int rscale; /* Scale factor for the result */
/* Skip the MINUS token */
/* Get the left hand side type, initialize operation flags */
lhst = Expr->Type;
- flags = 0;
rscale = 1; /* Scale by 1, that is, don't scale */
/* Remember the output queue position, then bring the value onto the stack */
} else {
/* OOPS */
Error ("Invalid operands for binary operator `-'");
+ flags = CF_INT;
}
/* Do the subtraction */
} else {
/* OOPS */
Error ("Invalid operands for binary operator `-'");
+ flags = CF_INT;
}
/* Generate code for the sub (the & is a hack here) */