From: tecodev Date: Sat, 11 Nov 2006 23:23:47 +0000 (+0000) Subject: * src/pic/pcode.c (newpCodeOpBit): search SymbolTab for referenced X-Git-Url: https://git.gag.com/?a=commitdiff_plain;ds=sidebyside;h=b4d3bfbfba97819f5b66bd2f28153326f3533d94;p=fw%2Fsdcc * src/pic/pcode.c (newpCodeOpBit): search SymbolTab for referenced bitfield symbols, fixes #1579535 (once more...). git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4471 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/ChangeLog b/ChangeLog index 3c8b0e74..f515c2dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-11-11 Raphael Neider + + * src/pic/pcode.c (newpCodeOpBit): search SymbolTab for referenced + bitfield symbols, fixes #1579535 (once more...). + 2006-11-09 Frieder Ferlemann * support/regression/generate-cases.py, diff --git a/src/pic/pcode.c b/src/pic/pcode.c index c37d6ff8..245385a0 100644 --- a/src/pic/pcode.c +++ b/src/pic/pcode.c @@ -2339,6 +2339,11 @@ pCodeOp *newpCodeOpBit(char *name, int ibit, int inBitSpace) sym = symFindWithName(bit, name); if (!sym) sym = symFindWithName(sfrbit, name); if (!sym) sym = symFindWithName(sfr, name); + if (!sym) sym = symFindWithName(reg, name); + // Hack to fix accesses to _INTCON_bits (e.g. GIE=0), see #1579535. + // XXX: This ignores nesting levels, but works for globals... + if (!sym) sym = findSym(SymbolTab, NULL, name); + if (!sym && name && name[0] == '_') sym = findSym(SymbolTab, NULL, &name[1]); if (sym) { r = allocNewDirReg(sym->etype,name); }