diff options
Diffstat (limited to 'parse.c')
-rw-r--r-- | parse.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/parse.c b/parse.c index 521e2bf..ba6eeba 100644 --- a/parse.c +++ b/parse.c @@ -952,17 +952,17 @@ printref(Ref r, Fn *fn, FILE *f) printcon(&fn->con[r.val], f); break; case RSlot: - fprintf(f, "S%d", r.val); + fprintf(f, "S%d", (r.val&(1<<28)) ? r.val-(1<<29) : r.val); break; - case RACall: - fprintf(f, "%03x", r.val & AMask); + case RCall: + fprintf(f, "%03x", r.val); break; - case RAType: - fprintf(f, ":%s", typ[r.val & AMask].name); + case RType: + fprintf(f, ":%s", typ[r.val].name); break; - case RAMem: + case RMem: i = 0; - m = &fn->mem[r.val & AMask]; + m = &fn->mem[r.val]; fputc('[', f); if (m->offset.type != CUndef) { printcon(&m->offset, f); |