+2007-10-29 Borut Razem <borut.razem AT siol.net>
+
+ * src/SDCCsymt.c: reverted bad fixed of bug #1805702
+ - order of extern matters
+ * support/regression/tests/bug-1805702.c: disabled regtest for bug
+ #1805702
+
2007-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
* src/ds390/peeph.def: replaced 24bitModeAndPortDS390 by
DCL_ELEM (sym->type) = getNelements (sym->type, sym->ival);
}
- /* if already exists in the symbol table
- then check if the type match;
- if yes then if at least one is not extern
- set the new symbol to non extern */
+ /* if already exists in the symbol table then check if
+ one of them is an extern definition;
+ if yes then then check if the type match;
+ if the types match then delete the current entry and
+ add the new entry */
if ((csym = findSymWithLevel (SymbolTab, sym)) &&
csym->level == sym->level)
{
if (csym->ival && !sym->ival)
sym->ival = csym->ival;
- if (!sym->cdef && IS_EXTERN (sym->etype))
- {
- /* set the new symbol to not extern if not a compiler defined function
- and at least one is non extern */
- SPEC_EXTR(sym->etype) = SPEC_EXTR(csym->etype);
- sym->cdef = csym->cdef;
- }
-
/* delete current entry */
deleteSym (SymbolTab, csym, csym->name);
deleteFromSeg(csym);