projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* src/pic16/gen.c (pic16_freeAsmop): avoid NULL pointer dereference,
[fw/sdcc]
/
src
/
SDCCmem.c
diff --git
a/src/SDCCmem.c
b/src/SDCCmem.c
index 8204490d3b981bb9e8089d4e4d7fc6ee0194b732..5bc6bb92c31ea1354df22ec3801954349b6dbacc 100644
(file)
--- a/
src/SDCCmem.c
+++ b/
src/SDCCmem.c
@@
-33,7
+33,6
@@
memmap *home = NULL; /* Unswitchable code bank */
symbols in a single overlay */
set *ovrSetSets = NULL;
symbols in a single overlay */
set *ovrSetSets = NULL;
-int maxRegBank = 0;
int fatalError = 0; /* fatal error flag */
/*-----------------------------------------------------------------*/
int fatalError = 0; /* fatal error flag */
/*-----------------------------------------------------------------*/
@@
-411,7
+410,7
@@
allocDefault (symbol * sym)
if (sym->_isparm)
return FALSE;
/* if code change to constant */
if (sym->_isparm)
return FALSE;
/* if code change to constant */
- if (sym->ival &&
(sym->level==0) &&
SPEC_ABSA (sym->etype))
+ if (sym->ival && SPEC_ABSA (sym->etype))
{
SPEC_OCLS(sym->etype) = c_abs;
}
{
SPEC_OCLS(sym->etype) = c_abs;
}
@@
-422,7
+421,7
@@
allocDefault (symbol * sym)
break;
case S_XDATA:
/* absolute initialized global */
break;
case S_XDATA:
/* absolute initialized global */
- if (sym->ival &&
(sym->level==0) &&
SPEC_ABSA (sym->etype))
+ if (sym->ival && SPEC_ABSA (sym->etype))
{
SPEC_OCLS(sym->etype) = x_abs;
}
{
SPEC_OCLS(sym->etype) = x_abs;
}
@@
-438,7
+437,7
@@
allocDefault (symbol * sym)
break;
case S_DATA:
/* absolute initialized global */
break;
case S_DATA:
/* absolute initialized global */
- if (sym->ival &&
(sym->level==0) &&
SPEC_ABSA (sym->etype))
+ if (sym->ival && SPEC_ABSA (sym->etype))
{
SPEC_OCLS(sym->etype) = d_abs;
}
{
SPEC_OCLS(sym->etype) = d_abs;
}
@@
-449,7
+448,7
@@
allocDefault (symbol * sym)
break;
case S_IDATA:
/* absolute initialized global */
break;
case S_IDATA:
/* absolute initialized global */
- if (sym->ival &&
(sym->level==0) &&
SPEC_ABSA (sym->etype))
+ if (sym->ival && SPEC_ABSA (sym->etype))
{
SPEC_OCLS(sym->etype) = i_abs;
}
{
SPEC_OCLS(sym->etype) = i_abs;
}
@@
-915,9
+914,9
@@
allocVariables (symbol * symChain)
SPEC_EXTR (sym->etype) = 0;
addSym (TypedefTab, sym, sym->name, sym->level, sym->block, 0);
SPEC_EXTR (sym->etype) = 0;
addSym (TypedefTab, sym, sym->name, sym->level, sym->block, 0);
- continue; /* go to the next one
*/
+ continue; /* go to the next one */
}
}
- /* make sure it already exist */
+ /* make sure it already exist
s
*/
csym = findSymWithLevel (SymbolTab, sym);
if (!csym || (csym && csym->level != sym->level))
csym = sym;
csym = findSymWithLevel (SymbolTab, sym);
if (!csym || (csym && csym->level != sym->level))
csym = sym;
@@
-925,21
+924,15
@@
allocVariables (symbol * symChain)
/* check the declaration */
checkDecl (csym,0);
/* check the declaration */
checkDecl (csym,0);
- /* if this is a function or a pointer to
function
*/
- /*
then args processing
*/
+ /* if this is a function or a pointer to
a
*/
+ /*
function then do args processing
*/
if (funcInChain (csym->type))
{
processFuncArgs (csym);
if (funcInChain (csym->type))
{
processFuncArgs (csym);
-
- /* if register bank specified then update maxRegBank */
- if (maxRegBank < FUNC_REGBANK (csym->type))
- maxRegBank = FUNC_REGBANK (csym->type);
- /*JCF: Mark the register bank as used*/
- RegBankUsed[FUNC_REGBANK(csym->type)]=1;
}
/* if this is a extern variable then change the */
}
/* if this is a extern variable then change the */
- /* level to zero temporarily
*/
+ /* level to zero temporarily */
if (IS_EXTERN (csym->etype) || IS_FUNC (csym->type))
{
saveLevel = csym->level;
if (IS_EXTERN (csym->etype) || IS_FUNC (csym->type))
{
saveLevel = csym->level;
@@
-951,7
+944,7
@@
allocVariables (symbol * symChain)
if (IS_LITERAL (sym->etype))
continue;
if (IS_LITERAL (sym->etype))
continue;
- /* generate the actual declaration
*/
+ /* generate the actual declaration */
if (csym->level)
{
allocLocal (csym);
if (csym->level)
{
allocLocal (csym);