1
0
mirror of https://github.com/cc65/cc65.git synced 2025-02-06 12:31:12 +00:00

Fixed more E_MCONST issues

git-svn-id: svn://svn.cc65.org/cc65/trunk@758 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2001-05-24 18:26:20 +00:00
parent b0324b6041
commit 84f85293f1

View File

@ -1483,7 +1483,7 @@ static void unaryop (int tok, struct expent* lval)
NextToken ();
k = hie10 (lval);
if (k == 0 && lval->e_flags == E_MCONST) {
if (k == 0 && (lval->e_flags & E_MCONST) != 0) {
/* Value is constant */
switch (tok) {
case TOK_MINUS: lval->e_const = -lval->e_const; break;
@ -1985,7 +1985,7 @@ static void parseadd (int k, struct expent* lval)
flags = 0;
/* Check for constness on both sides */
if (k == 0 && lval->e_flags == E_MCONST) {
if (k == 0 && (lval->e_flags & E_MCONST) != 0) {
/* The left hand side is a constant. Good. Get rhs */
if (evalexpr (CF_NONE, hie9, &lval2) == 0) {
@ -2013,7 +2013,7 @@ static void parseadd (int k, struct expent* lval)
}
/* Result is constant, condition codes not set */
lval->e_test = E_MCONST;
lval->e_test &= ~E_CC;
} else {
@ -2170,7 +2170,7 @@ static void parsesub (int k, struct expent* lval)
rhst = lval2.e_tptr;
/* Check left hand side */
if (k == 0 && lval->e_flags == E_MCONST) {
if (k == 0 && (lval->e_flags & E_MCONST) != 0) {
/* Both sides are constant, remove generated code */
RemoveCode (Mark1);
@ -2200,7 +2200,7 @@ static void parsesub (int k, struct expent* lval)
}
/* Result is constant, condition codes not set */
lval->e_flags = E_MCONST;
/* lval->e_flags = E_MCONST; ### */
lval->e_test &= ~E_CC;
} else {