Fixed word reversed fixup problem.
[rmac] / symbol.c
index f8d8424ff99de0886df08bd03cd459b85cf94d68..d4761214006bf4a98e631cc89fb8321344e4d447 100644 (file)
--- a/symbol.c
+++ b/symbol.c
@@ -91,7 +91,12 @@ SYM * NewSymbol(char * name, int type, int envno)
        symbol->stype  = (BYTE)type;
        symbol->senv   = (WORD)envno;
        symbol->sattr  = 0;
        symbol->stype  = (BYTE)type;
        symbol->senv   = (WORD)envno;
        symbol->sattr  = 0;
-       symbol->sattre = (rgpu || rdsp ? RISCSYM : 0);
+//we don't do this, it could be a forward reference!
+//     symbol->sattr  = DEFINED;               // We just defined it...
+       // This is a bad assumption. Not every symbol 1st seen in a RISC section is
+       // a RISC symbol!
+//     symbol->sattre = (rgpu || rdsp ? RISCSYM : 0);
+       symbol->sattre = 0;
        symbol->svalue = 0;
        symbol->sorder = NULL;
        symbol->uid    = currentUID++;
        symbol->svalue = 0;
        symbol->sorder = NULL;
        symbol->uid    = currentUID++;
@@ -165,7 +170,8 @@ SYM * lookup(char * name, int type, int envno)
 //
 // Put symbol on "order-of-declaration" list of symbols
 //
 //
 // Put symbol on "order-of-declaration" list of symbols
 //
-void sym_decl(SYM * symbol)
+//void sym_decl(SYM * symbol)
+void AddToSymbolOrderList(SYM * symbol)
 {
        if (symbol->sattr & SDECLLIST)
                return;                                                         // Already on list
 {
        if (symbol->sattr & SDECLLIST)
                return;                                                         // Already on list