Re: [cc65] bit field bug in 2.13.0?

From: Ullrich von Bassewitz <uz1musoftware.de>
Date: 2009-10-20 10:26:54
Hi!

On Tue, Oct 20, 2009 at 03:13:12AM +0200, Johan Kotlinski wrote:
[...]
> Assert fails. (SVN rev 4381)

Yes, it's a bug. Thanks for the report!

Here is the necessary patch:
------------------------------------------------------------------------------
Index: src/cc65/loadexpr.c
===================================================================
--- src/cc65/loadexpr.c	(revision 4366)
+++ src/cc65/loadexpr.c	(working copy)
@@ -100,8 +100,9 @@
          * throw away the high byte anyway and may therefore load just the
          * low byte.
          */
-        if (ED_IsBitField (Expr) && Expr->BitOffs + Expr->BitWidth <= CHAR_BITS) {
-            Flags |= CF_CHAR | CF_UNSIGNED;
+        if (ED_IsBitField (Expr)) {
+            Flags |= (Expr->BitOffs + Expr->BitWidth <= CHAR_BITS)? CF_CHAR : CF_INT;
+            Flags |= CF_UNSIGNED;
         } else {
             Flags |= TypeOf (Expr->Type);
         }
------------------------------------------------------------------------------

Regards


        Uz


-- 
Ullrich von Bassewitz                                  uz@musoftware.de
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Tue Oct 20 10:27:58 2009

This archive was generated by hypermail 2.1.8 : 2009-10-20 10:28:01 CEST