Lindseys fix to a bug with nested procedures
This commit is contained in:
parent
539c95237e
commit
fa0f6cd0c6
3 changed files with 9 additions and 5 deletions
|
@ -32,10 +32,12 @@ static char rcsid[] = "$Header$";
|
|||
* Author: Hans van Staveren
|
||||
*/
|
||||
|
||||
#define local(x) if (((x)->s_flags&SYMKNOWN) == 0)\
|
||||
x->s_flags &= ~ SYMGLOBAL
|
||||
#define global(x) if(((x)->s_flags&SYMKNOWN) == 0)\
|
||||
x->s_flags |= SYMGLOBAL
|
||||
#define local(x) ((((x)->s_flags&SYMKNOWN) == 0 && \
|
||||
((x)->s_flags &= ~ SYMGLOBAL)),\
|
||||
(x)->s_flags |= SYMSEEN)
|
||||
#define global(x) ((((x)->s_flags&SYMKNOWN) == 0 && \
|
||||
((x)->s_flags |= SYMGLOBAL)), \
|
||||
(x)->s_flags |= SYMSEEN)
|
||||
|
||||
#define DTYPHOL 1
|
||||
#define DTYPBSS 2
|
||||
|
|
|
@ -17,6 +17,7 @@ struct sym {
|
|||
#define SYMKNOWN 000004
|
||||
#define SYMOUT 000010
|
||||
#define SYMDEF 000020
|
||||
#define SYMSEEN 000040
|
||||
|
||||
#define NSYMHASH 127
|
||||
extern sym_p symhash[NSYMHASH],symlookup();
|
||||
|
|
|
@ -93,7 +93,8 @@ symknown() {
|
|||
|
||||
for (spp = symhash; spp < &symhash[NSYMHASH]; spp++)
|
||||
for (sp = *spp; sp != (sym_p) 0; sp = sp->s_next)
|
||||
sp->s_flags |= SYMKNOWN;
|
||||
if (sp->s_flags & SYMSEEN)
|
||||
sp->s_flags |= SYMKNOWN;
|
||||
}
|
||||
|
||||
cleanlocals() {
|
||||
|
|
Loading…
Reference in a new issue