From: bernhardheld Date: Sat, 15 Mar 2003 22:52:01 +0000 (+0000) Subject: src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=6dd89474c2c8c621a0f288c4ad80e55b019677f4;p=fw%2Fsdcc src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541 git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2392 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/ChangeLog b/ChangeLog index 6f2060ab..17a5845a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2003-03-15 Bernhard Held + + * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541 + 2003-03-13 Hackup const and volatile modifiers in type chains a bit: diff --git a/src/mcs51/ralloc.c b/src/mcs51/ralloc.c index 8ecb55b3..0723d9e9 100644 --- a/src/mcs51/ralloc.c +++ b/src/mcs51/ralloc.c @@ -1841,7 +1841,12 @@ packRegsForAssign (iCode * ic, eBBlock * ebp) { sym_link *etype = operandType (IC_RIGHT (dic)); if (IS_BITFIELD (etype)) - return 0; + { + /* if result is a bit too then it's ok */ + etype = operandType (IC_RESULT (dic)); + if (!IS_BITFIELD (etype)) + return 0; + } } /* if the result is on stack or iaccess then it must be the same atleast one of the operands */