From: Wolfgang (Blub) Bumiller Date: Fri, 2 Nov 2012 11:32:13 +0000 (+0100) Subject: -disasm should show builtins as builtins rather than trying to print negative stateme... X-Git-Tag: 0.1~57 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=b1b586d39809786de309095d488d7c86ce55bb8e;p=xonotic%2Fgmqcc.git -disasm should show builtins as builtins rather than trying to print negative statements - skip function 0 since it's not a valid function --- diff --git a/exec.c b/exec.c index 1658604..cbbe546 100644 --- a/exec.c +++ b/exec.c @@ -922,7 +922,7 @@ int main(int argc, char **argv) return 0; } if (opts_disasm) { - for (i = 0; i < prog->functions_count; ++i) + for (i = 1; i < prog->functions_count; ++i) prog_disasm_function(prog, i); return 0; } @@ -962,7 +962,12 @@ void prog_disasm_function(qc_program *prog, size_t id) prog_section_function *fdef = prog->functions + id; prog_section_statement *st; - printf("FUNCTION \"%s\"\n", prog_getstring(prog, fdef->name)); + 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)); st = prog->code + fdef->entry; while (st->opcode != AINSTR_END) {