]> git.sur5r.net Git - cc65/commitdiff
Address size fixes
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 13 Nov 2003 00:40:40 +0000 (00:40 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 13 Nov 2003 00:40:40 +0000 (00:40 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2659 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/ca65/symentry.c

index f716e3288852ab7e8272c61dade5922079b9f980..dc56b7ba50d254a8f8cc10bb1cf32c06484316fe 100644 (file)
@@ -157,7 +157,12 @@ void SymDef (SymEntry* S, ExprNode* Expr, unsigned char AddrSize, unsigned Flags
 
     /* Map a default address size to a real value */
     if (AddrSize == ADDR_SIZE_DEFAULT) {
-        AddrSize = SymAddrSize (S);
+        long Val;
+        if (IsConstExpr (Expr, &Val) && IsByteRange (Val)) {
+            AddrSize = ADDR_SIZE_ZP;
+        } else {
+            AddrSize = SymAddrSize (S);
+        }
     }
 
     /* Set the symbol value */