get the function number early so things don't get mixed up when new functions

get created while parsing a function
This commit is contained in:
Bill Currie 2002-06-11 06:54:32 +00:00
parent 4932d0db3c
commit 331df31f6a
2 changed files with 4 additions and 4 deletions

View file

@ -40,6 +40,7 @@ typedef struct function_s {
pr_auxfunction_t *aux; // debug info;
int builtin; // if non 0, call an internal function
int code; // first statement
int function_num;
const char *file; // source file with definition
int file_line;
struct def_s *def;

View file

@ -170,7 +170,7 @@ new_function (void)
f = calloc (1, sizeof (function_t));
*pr.func_tail = f;
pr.func_tail = &f->next;
f->function_num = pr.num_functions++;
return f;
}
@ -203,7 +203,7 @@ build_function (function_t *f)
{
f->def->constant = 1;
f->def->initialized = 1;
G_FUNCTION (f->def->ofs) = pr.num_functions;
G_FUNCTION (f->def->ofs) = f->function_num;
}
void
@ -233,7 +233,7 @@ finish_function (function_t *f)
if (f->aux) {
def_t *def;
f->aux->function = pr.num_functions;
f->aux->function = f->function_num;
for (def = f->scope->head; def; def = def->def_next) {
if (def->name) {
ddef_t *d = new_local ();
@ -245,7 +245,6 @@ finish_function (function_t *f)
}
}
}
pr.num_functions++;
}
void