-disasm should show builtins as builtins rather than trying to print negative statements - skip function 0 since it's not a valid function

This commit is contained in:
Wolfgang (Blub) Bumiller 2012-11-02 12:32:13 +01:00
parent 265e66b98b
commit b1b586d398

7
exec.c
View file

@ -922,7 +922,7 @@ int main(int argc, char **argv)
return 0; return 0;
} }
if (opts_disasm) { if (opts_disasm) {
for (i = 0; i < prog->functions_count; ++i) for (i = 1; i < prog->functions_count; ++i)
prog_disasm_function(prog, i); prog_disasm_function(prog, i);
return 0; return 0;
} }
@ -962,6 +962,11 @@ void prog_disasm_function(qc_program *prog, size_t id)
prog_section_function *fdef = prog->functions + id; prog_section_function *fdef = prog->functions + id;
prog_section_statement *st; prog_section_statement *st;
if (fdef->entry < 0) {
printf("FUNCTION \"%s\" = builtin #%i\n", prog_getstring(prog, fdef->name), (int)-fdef->entry);
return;
}
else
printf("FUNCTION \"%s\"\n", prog_getstring(prog, fdef->name)); printf("FUNCTION \"%s\"\n", prog_getstring(prog, fdef->name));
st = prog->code + fdef->entry; st = prog->code + fdef->entry;