From b9c43895e7c9fd21b8f52a68685b8ac0a2b69a33 Mon Sep 17 00:00:00 2001 From: epetrich Date: Fri, 23 Apr 2004 14:35:53 +0000 Subject: [PATCH] * src/SDCCsymt.h: a missing part of my last change * src/pic/ralloc.c (regTypeNum), * src/pic16/ralloc.c (regTypeNum): fixed statement/declaration order git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3298 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 8 +++++++- src/SDCCsymt.h | 1 + src/pic/ralloc.c | 4 +++- src/pic16/ralloc.c | 4 +++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7c121627..edb3d273 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-04-23 Erik Petrich + + * src/SDCCsymt.h: a missing part of my last change + * src/pic/ralloc.c (regTypeNum), + * src/pic16/ralloc.c (regTypeNum): fixed statement/declaration order + 2004-04-23 Erik Petrich * src/SDCCicode.h, @@ -10,7 +16,7 @@ * src/hc08/ralloc.c (regTypeNum), * src/ds390/ralloc.c (regTypeNum), * src/mcs51/ralloc.c (regTypeNum): check for dependancy hazards before - creating pseudo symbols (fixed bugs #777768 and #933966) + creating pseudo symbols (fixed bugs #777768, #930484, and #933966) 2004-04-22 Erik Petrich diff --git a/src/SDCCsymt.h b/src/SDCCsymt.h index 353f41f6..394c4387 100644 --- a/src/SDCCsymt.h +++ b/src/SDCCsymt.h @@ -298,6 +298,7 @@ typedef struct symbol struct iCode *rematiCode; /* rematerialse with which instruction */ struct operand *reqv; /* register equivalent of a local variable */ struct symbol *prereqv; /* symbol before register equiv. substituion */ + struct symbol *psbase; /* if pseudo symbol, the symbol it is based on */ union { struct symbol *spillLoc; /* register spil location */ diff --git a/src/pic/ralloc.c b/src/pic/ralloc.c index 25c30369..e71c82f9 100644 --- a/src/pic/ralloc.c +++ b/src/pic/ralloc.c @@ -2734,11 +2734,13 @@ regTypeNum () if (ptrPseudoSymSafe (sym, ic)) { + symbol *psym; + debugLog (" %d - \n", __LINE__); /* create a psuedo symbol & force a spil */ //X symbol *psym = newSymbol (rematStr (OP_SYMBOL (IC_LEFT (ic))), 1); - symbol *psym = rematStr (OP_SYMBOL (IC_LEFT (ic))); + psym = rematStr (OP_SYMBOL (IC_LEFT (ic))); psym->type = sym->type; psym->etype = sym->etype; psym->psbase = ptrBaseRematSym (OP_SYMBOL (IC_LEFT (ic))); diff --git a/src/pic16/ralloc.c b/src/pic16/ralloc.c index c589bb41..1fd35e61 100644 --- a/src/pic16/ralloc.c +++ b/src/pic16/ralloc.c @@ -2582,11 +2582,13 @@ regTypeNum () if (ptrPseudoSymSafe (sym, ic)) { + symbol *psym; + debugLog (" %d - \n", __LINE__); /* create a psuedo symbol & force a spil */ //X symbol *psym = newSymbol (rematStr (OP_SYMBOL (IC_LEFT (ic))), 1); - symbol *psym = rematStr (OP_SYMBOL (IC_LEFT (ic))); + psym = rematStr (OP_SYMBOL (IC_LEFT (ic))); psym->type = sym->type; psym->etype = sym->etype; psym->psbase = ptrBaseRematSym (OP_SYMBOL (IC_LEFT (ic))); -- 2.30.2