map[int] bug
SVN=124332
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c
index 5948a6b..86fe143 100644
--- a/src/cmd/gc/walk.c
+++ b/src/cmd/gc/walk.c
@@ -864,9 +864,6 @@
Type *t, *f;
int i;
-if(debug['T'])
-print("%L walkdot %O %d\n", n->op, top);
-
if(n->left == N || n->right == N)
return;
@@ -1415,15 +1412,16 @@
}
a = n->right; // key
- if(!isptr[t->down->etype]) {
- a = nod(OADDR, a, N);
- a->type = ptrto(t);
- }
+// if(!isptr[t->down->etype]) {
+// a = nod(OADDR, a, N);
+// a->type = ptrto(t);
+// }
+
r = a;
a = n->left; // map
r = nod(OLIST, a, r);
- on = syslook("mapaccess2", 1);
+ on = syslook("mapaccess1", 1);
argtype(on, t->down); // any-1
argtype(on, t->type); // any-2
diff --git a/src/runtime/runtime.c b/src/runtime/runtime.c
index 2c1acad..5b8d048 100644
--- a/src/runtime/runtime.c
+++ b/src/runtime/runtime.c
@@ -990,7 +990,7 @@
m->valalg->copy(m->valsize, av, 0);
out:
- if(1) {
+ if(debug) {
prints("sys_mapaccess1: map=");
sys_printpointer(m);
prints("; key=");