X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=symbol.c;h=50d8379a0963ddae5dde642b68e360edfa63a13e;hb=7815a9c9504d879230a950318d434b411d045610;hp=f8a43d6ff62e189492914cf0646354ed1c994b58;hpb=4205233c8397c581b4d27ab36ab81ec896ef3dd0;p=rmac diff --git a/symbol.c b/symbol.c index f8a43d6..50d8379 100644 --- a/symbol.c +++ b/symbol.c @@ -1,7 +1,7 @@ // -// RMAC - Reboot's Macro Assembler for all Atari computers +// RMAC - Renamed Macro Assembler for all Atari computers // SYMBOL.C - Symbol Handling -// Copyright (C) 199x Landon Dyer, 2011-2020 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2021 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source utilised with the kind permission of Landon Dyer // @@ -103,6 +103,9 @@ SYM * NewSymbol(uint8_t * name, int type, int envno) symbol->sorder = NULL; symbol->uid = currentUID++; + // Record filename the symbol is defined (for now only used by macro error reporting) + symbol->cfileno = cfileno; + // Install symbol in the symbol table int hash = HashSymbol(name, envno); symbol->snext = symbolTable[hash]; @@ -254,8 +257,7 @@ uint32_t sy_assign(uint8_t * buf, uint8_t *(* construct)()) // Export vanilla labels (but don't make them global). An exception is // made for equates, which are not exported unless they are referenced. else if (sy->stype == LABEL && lsym_flag - && (sy->sattr & (DEFINED | REFERENCED)) != 0 - && (!as68_flag || *sy->sname != 'L')) + && (sy->sattr & (DEFINED | REFERENCED)) != 0) { sy->senv = scount++;