#include "kwtab.h" // Incl generated keyword tables & defs
#define DEF_MN // Incl 68k keyword definitions
#include "kwtab.h" // Incl generated keyword tables & defs
#define DEF_MN // Incl 68k keyword definitions
static IFENT ifent0; // Root ifent
static IFENT * f_ifent; // Freelist of ifents
static int disabled; // Assembly conditionally disabled
static IFENT ifent0; // Root ifent
static IFENT * f_ifent; // Freelist of ifents
static int disabled; // Assembly conditionally disabled
-int just_bss; // 1, ds.b in microprocessor mode
-VALUE pcloc; // Value of "PC" at beginning of line
-IFENT * ifent; // Current ifent
+int just_bss; // 1, ds.b in microprocessor mode
+VALUE pcloc; // Value of "PC" at beginning of line
SYM * lab_sym; // Label on line (or NULL)
const char extra_stuff[] = "extra (unexpected) text found after addressing mode";
SYM * lab_sym; // Label on line (or NULL)
const char extra_stuff[] = "extra (unexpected) text found after addressing mode";
goto loop;
case MN_IIF: // .iif --- immediate if
if (disabled || expr(exprbuf, &eval, &eattr, &esym) != OK)
goto loop;
case MN_IIF: // .iif --- immediate if
if (disabled || expr(exprbuf, &eval, &eattr, &esym) != OK)
- // 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);
-//Linko's request to issue a warning on labels that equated to the same register
-//would go here. Not sure how to implement it though. :-/
+//Linko's request to issue a warning on labels that equated to the same
+//register would go here. Not sure how to implement it though. :-/
-corresponding register bool to true. Whenever it's undef'ed, set it to false. When
-checking to see if it's already been equated, issue a warning.
+corresponding register bool to true. Whenever it's undef'ed, set it to false.
+When 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 !!!"
// 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
// ".regbankN" is not an original Madmac directive, so it's suspect
sy->sattre |= regbank; // Store register bank
#endif
else if (symbol->sattr & DEFINED)
return errors("multiply-defined label '%s'", label);
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);