]> Shamusworld >> Repos - rmac/blobdiff - procln.c
Fix for "*" getting bad section attributes, reported by A. Seed.
[rmac] / procln.c
index b56b25461d9012c845e6720a107851b6f38d5a19..8739ce6db05630d2a1726efb0efdae67f9042c12 100644 (file)
--- a/procln.c
+++ b/procln.c
@@ -3,7 +3,7 @@
 // PROCLN.C - Line Processing
 // Copyright (C) 199x Landon Dyer, 2011 Reboot and Friends
 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
-// Source Utilised with the Kind Permission of Landon Dyer
+// Source utilised with the kind permission of Landon Dyer
 //
 
 #include "procln.h"
@@ -94,7 +94,7 @@ int HandleLabel(char *, int);
 
 
 //
-// Initialize Line Processor
+// Initialize line processor
 //
 void InitLineProcessor(void)
 {
@@ -106,7 +106,7 @@ void InitLineProcessor(void)
 
 
 //
-// Line Processor
+// Line processor
 //
 void Assemble(void)
 {
@@ -371,7 +371,7 @@ normal:
                        {
 //REALLY?                              sy->sattre |= ~UNDEF_EQUR; 
                                sy->sattre &= ~UNDEF_EQUR; 
-                               sy->svalue  = 0;
+                               sy->svalue = 0;
                        }
                        else if ((equtyp == CCDEF) && (sy->sattre & UNDEF_CC))
                        {
@@ -386,9 +386,8 @@ normal:
                        }
                }
 
-               // Put symbol in "order of definition" list
-               if (!(sy->sattr & SDECLLIST))
-                       AddToSymbolOrderList(sy);
+               // Put symbol in "order of definition" list if it's not already there
+               AddToSymbolDeclarationList(sy);
 
                // Parse value to equate symbol to;
                // o  .equr
@@ -450,9 +449,9 @@ checking to see if it's already been equated, issue a warning.
 // What needs to happen here is to prime registerbank with regbank, then use
 // registerbank down below for the bank marking.
 #warning "!!! regbank <-> registerbank confusion here !!!"
-// The question here is why, if we're allowed to override the ".regbankN" rules above,
-// then why is it using the one set by the directive in the extended attributes and
-// not in what ends up in symbol->svalue?
+// The question here is why, if we're allowed to override the ".regbankN" rules
+// above, then why is it using the one set by the directive in the extended
+// attributes and not in what ends up in symbol->svalue?
 // ".regbankN" is not an original Madmac directive, so it's suspect
                                sy->sattre |= regbank;          // Store register bank
 #endif
@@ -546,13 +545,13 @@ checking to see if it's already been equated, issue a warning.
                        goto loop;
                }
 
-               sy->sattr |= eattr | EQUATED;           // Symbol inherits value and attributes
+               sy->sattr |= eattr | EQUATED;   // Symbol inherits value and attributes
                sy->svalue = eval;
 
-               if (list_flag)                                          // Put value in listing
+               if (list_flag)                                  // Put value in listing
                        listvalue(eval);
 
-               at_eol();                                                       // Must be at EOL now
+               at_eol();                                               // Must be at EOL now
                goto loop;
        }
 
@@ -630,10 +629,10 @@ checking to see if it's already been equated, issue a warning.
                goto loop;
        }
 
-       if (sloc & 1)                                                   // Automatic .even
+       if (sloc & 1)                                   // Automatic .even
                auto_even();
 
-       if (challoc - ch_size < 18)                             // Make sure have space in current chunk
+       if (challoc - ch_size < 18)             // Make sure have space in current chunk
                chcheck(0);
 
        m = &machtab[state - 1000];
@@ -645,7 +644,7 @@ checking to see if it's already been equated, issue a warning.
                goto loop;
        }
 
-       if (amode(1) < 0)                                               // Parse 0, 1 or 2 addr modes
+       if (amode(1) < 0)                               // Parse 0, 1 or 2 addr modes
                goto loop;
 
        if (*tok != EOL)
@@ -694,9 +693,8 @@ int HandleLabel(char * label, int labelType)
        else if (symbol->sattr & DEFINED)
                return errors("multiply-defined label '%s'", label);
 
-       // Put symbol in "order of definition" list
-       if (!(symbol->sattr & SDECLLIST))
-               AddToSymbolOrderList(symbol);
+       // Put symbol in "order of definition" list if it's not already in it
+       AddToSymbolDeclarationList(symbol);
 
        if (orgactive)
        {
@@ -728,7 +726,7 @@ int HandleLabel(char * label, int labelType)
 
 
 // 
-// .if, Start Conditional Assembly
+// .if, Start conditional assembly
 //
 int d_if(void)
 {
@@ -763,7 +761,7 @@ int d_if(void)
 
 
 // 
-// .else, Do Alternate Case For .if
+// .else, Do alternate case for .if
 //
 int d_else(void)
 {