* 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
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() {