]> git.sur5r.net Git - cc65/commitdiff
Fixed generation of non optimal code in StructRef()
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 3 Jun 2004 11:10:30 +0000 (11:10 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 3 Jun 2004 11:10:30 +0000 (11:10 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3071 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/cc65/expr.c

index cc3fab011db0a9af2829dbed261cd37c9d298652..00fe4990f118e7b62c06ddc3eeef7e14b40eaca5 100644 (file)
@@ -1247,10 +1247,10 @@ static void StructRef (ExprDesc* Expr)
        return;
     }
 
-    /* If we have a struct pointer that is not already in the primary, load
-     * it now.
+    /* If we have a struct pointer that is an lvalue and not already in the 
+     * primary, load it now.
      */
-    if (IsTypePtr (Expr->Type)) {
+    if (ED_IsLVal (Expr) && IsTypePtr (Expr->Type)) {
 
         /* Load into the primary */
         ExprLoad (CF_NONE, Expr);