fixed to generate only external commons. This cannot be done in common.c

because an external could later be declared static, and a static could later
be declared external.
This commit is contained in:
ceriel
1988-11-10 13:16:22 +00:00
parent cd1307122a
commit 996d8fc8e8
3 changed files with 27 additions and 5 deletions

View File

@@ -8,7 +8,10 @@ arith n;
extern int Label, label_waiting;
register struct outname *nm = &symbol_table[Label];
if (label_waiting && (nm->on_type & S_EXT)) {
if (label_waiting) {
/* If possible, generate a common. Local commons must
be delt with later.
*/
nm->on_type |= S_COM | (S_MIN+SEGBSS);
if (n > nm->on_valu) {
nm->on_valu = n;
@@ -17,6 +20,5 @@ arith n;
return;
}
switchseg(SEGBSS);
dump_label();
bss(n);
}