summaryrefslogtreecommitdiff
path: root/src/cmd/5g/list.c
diff options
context:
space:
mode:
authorKai Backman <kaib@golang.org>2009-06-26 22:04:30 -0700
committerKai Backman <kaib@golang.org>2009-06-26 22:04:30 -0700
commit0b5dd8859d5c65d294f470223ea15c0b7016ebf2 (patch)
treee5964bbadf220f4cdacca3ffb5f423730f098d35 /src/cmd/5g/list.c
parent00f5451227c170733a71fe334b8a540dc882e19d (diff)
downloadgolang-0b5dd8859d5c65d294f470223ea15c0b7016ebf2.tar.gz
working on bgen
- removed smallint optimizations - lifted raddr from 5c - add back %R, was used in gc/* causing -g to crash - changed naddr OREGISTER to emit D_REG instead of D_OREG R=rsc APPROVED=rsc DELTA=74 (38 added, 28 deleted, 8 changed) OCL=30799 CL=30822
Diffstat (limited to 'src/cmd/5g/list.c')
-rw-r--r--src/cmd/5g/list.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cmd/5g/list.c b/src/cmd/5g/list.c
index b46188a73..631015869 100644
--- a/src/cmd/5g/list.c
+++ b/src/cmd/5g/list.c
@@ -39,6 +39,7 @@ listinit(void)
fmtinstall('P', Pconv); // Prog*
fmtinstall('D', Dconv); // Addr*
fmtinstall('Y', Yconv); // sconst
+ fmtinstall('R', Rconv); // register
}
int
@@ -198,3 +199,14 @@ Yconv(Fmt *fp)
*p = 0;
return fmtstrcpy(fp, str);
}
+
+int
+Rconv(Fmt *fp)
+{
+ int r;
+ char str[30];
+
+ r = va_arg(fp->args, int);
+ snprint(str, sizeof(str), "R%d", r);
+ return fmtstrcpy(fp, str);
+}