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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user