Don't set uWRITTEN flag for functions referenced from #emit

uWRITTEN == uRETVALUE, so marking a function symbol as written causes a
false "should return a value" warning.

Fixes #97
This commit is contained in:
Zeex 2016-07-02 11:03:19 +06:00
parent 6b2119f974
commit 036fd4f4c8

View File

@ -1330,11 +1330,15 @@ static int command(void)
stgwrite(".");
stgwrite(sym->name);
} /* if */
/* mark function as "used" */
/* do NOT mark it as written as that has a different meaning for
* functions (marks them as "should return a value") */
markusage(sym,uREAD);
} else {
outval(sym->addr,FALSE);
/* mark symbol as "used", unknown whether for read or write */
markusage(sym,uREAD | uWRITTEN);
} /* if */
/* mark symbol as "used", unknown whether for read or write */
markusage(sym,uREAD | uWRITTEN);
code_idx+=opargs(1);
} /* if */
break;