mirror of
https://github.com/cc65/cc65.git
synced 2025-02-21 20:29:17 +00:00
Hotfix for Issue #1250.
This commit is contained in:
parent
4e4e4c2d21
commit
ab7e9f8424
@ -1933,13 +1933,6 @@ void hie10 (ExprDesc* Expr)
|
|||||||
case TOK_STAR:
|
case TOK_STAR:
|
||||||
NextToken ();
|
NextToken ();
|
||||||
ExprWithCheck (hie10, Expr);
|
ExprWithCheck (hie10, Expr);
|
||||||
if (ED_IsLVal (Expr) || !ED_IsLocQuasiConst (Expr)) {
|
|
||||||
/* Not a const, load the pointer into the primary and make it a
|
|
||||||
** calculated value.
|
|
||||||
*/
|
|
||||||
LoadExpr (CF_NONE, Expr);
|
|
||||||
ED_FinalizeRValLoad (Expr);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If the expression is already a pointer to function, the
|
/* If the expression is already a pointer to function, the
|
||||||
** additional dereferencing operator must be ignored. A function
|
** additional dereferencing operator must be ignored. A function
|
||||||
@ -1951,6 +1944,14 @@ void hie10 (ExprDesc* Expr)
|
|||||||
/* Expression not storable */
|
/* Expression not storable */
|
||||||
ED_MarkExprAsRVal (Expr);
|
ED_MarkExprAsRVal (Expr);
|
||||||
} else {
|
} else {
|
||||||
|
if (!ED_IsQuasiConstAddr (Expr)) {
|
||||||
|
/* Not a constant address, load the pointer into the primary
|
||||||
|
** and make it a calculated value.
|
||||||
|
*/
|
||||||
|
LoadExpr (CF_NONE, Expr);
|
||||||
|
ED_FinalizeRValLoad (Expr);
|
||||||
|
}
|
||||||
|
|
||||||
if (IsClassPtr (Expr->Type)) {
|
if (IsClassPtr (Expr->Type)) {
|
||||||
Expr->Type = Indirect (Expr->Type);
|
Expr->Type = Indirect (Expr->Type);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user