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:
parent
b0324b6041
commit
84f85293f1
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user