many changes, mostly for efficiency

This commit is contained in:
ceriel
1988-10-20 13:06:10 +00:00
parent a281cc38a4
commit f69a7e3e5d
18 changed files with 276 additions and 261 deletions

View File

@@ -0,0 +1,22 @@
#include <out.h>
#include <em.h>
#include "back.h"
common(n)
arith n;
{
extern int Label, label_waiting;
register struct outname *nm = &symbol_table[Label];
if (label_waiting && (nm->on_type & S_EXT)) {
symbol_table[Label].on_type |= S_COM | (S_MIN+SEGBSS);
if (n > symbol_table[Label].on_valu) {
symbol_table[Label].on_valu = n;
}
label_waiting = 0;
return;
}
switchseg(SEGBSS);
dump_label();
bss(n);
}