Fixed a bug

git-svn-id: svn://svn.cc65.org/cc65/trunk@1862 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2002-12-29 21:23:28 +00:00
parent e525cd2515
commit ed2bb59bcb

View File

@@ -1625,13 +1625,21 @@ int hie10 (ExprDesc* lval)
lval->Flags = E_MEXPR; lval->Flags = E_MEXPR;
lval->ConstVal = 0; /* Offset is zero now */ lval->ConstVal = 0; /* Offset is zero now */
} }
t = lval->Type; /* If the expression is already a pointer to function, the
if (IsClassPtr (t)) { * additional dereferencing operator must be ignored.
lval->Type = Indirect (t); */
if (IsTypeFuncPtr (lval->Type)) {
/* Expression not storable */
return 0;
} else {
if (IsClassPtr (lval->Type)) {
lval->Type = Indirect (lval->Type);
} else { } else {
Error ("Illegal indirection"); Error ("Illegal indirection");
} }
return 1; return 1;
}
break;
case TOK_AND: case TOK_AND:
NextToken (); NextToken ();