From: uz Date: Mon, 5 Oct 2009 18:22:28 +0000 (+0000) Subject: Changed solution for r4329 so that it uses less memory. X-Git-Tag: V2.13.1~188 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7992bfb74a454e887a1f3e002cc0d639aeade52e;p=cc65 Changed solution for r4329 so that it uses less memory. git-svn-id: svn://svn.cc65.org/cc65/trunk@4331 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/src/cc65/expr.c b/src/cc65/expr.c index 9d8af55d5..cf417577f 100644 --- a/src/cc65/expr.c +++ b/src/cc65/expr.c @@ -1107,7 +1107,7 @@ static void StructRef (ExprDesc* Expr) /* The type is the type of the field plus any qualifiers from the struct */ Q = GetQualifier (Expr->Type); - if (Q == T_QUAL_NONE) { + if (GetQualifier (Field->Type) == (GetQualifier (Field->Type) | Q)) { Expr->Type = Field->Type; } else { Expr->Type = TypeDup (Field->Type); @@ -1599,9 +1599,9 @@ void hie10 (ExprDesc* Expr) ED_MakeRValExpr (Expr); } /* 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 * itself is represented as "pointer to function", so any number - * of dereference operators is legal, since the result will + * of dereference operators is legal, since the result will * always be converted to "pointer to function". */ if (IsTypeFuncPtr (Expr->Type) || IsTypeFunc (Expr->Type)) {