1988-10-20 13:06:10 +00:00
|
|
|
#include <out.h>
|
|
|
|
#include "back.h"
|
|
|
|
|
|
|
|
common(n)
|
|
|
|
arith n;
|
|
|
|
{
|
1989-01-26 13:32:57 +00:00
|
|
|
extern int Label, Label_waiting;
|
|
|
|
register struct outname *nm = &symbol_table[Label];
|
1988-10-20 13:06:10 +00:00
|
|
|
|
1989-01-26 13:32:57 +00:00
|
|
|
if (Label_waiting) {
|
1988-11-10 13:16:22 +00:00
|
|
|
/* If possible, generate a common. Local commons must
|
|
|
|
be delt with later.
|
|
|
|
*/
|
1988-10-31 15:42:15 +00:00
|
|
|
nm->on_type |= S_COM | (S_MIN+SEGBSS);
|
|
|
|
if (n > nm->on_valu) {
|
|
|
|
nm->on_valu = n;
|
1988-10-20 13:06:10 +00:00
|
|
|
}
|
1989-01-26 13:32:57 +00:00
|
|
|
Label_waiting = 0;
|
1988-10-20 13:06:10 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
switchseg(SEGBSS);
|
|
|
|
bss(n);
|
|
|
|
}
|