From: Russ Cox Date: Mon, 26 Jan 2009 23:36:28 +0000 (-0800) Subject: print(map) and print(chan) as pointers. X-Git-Tag: weekly.2009-11-06~2292 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3c5f3a864115a3d06d531adf71df02d208b7ab25;p=gostls13.git print(map) and print(chan) as pointers. R=ken OCL=23520 CL=23520 --- diff --git a/src/cmd/gc/sys.go b/src/cmd/gc/sys.go index fc10f181a8..dbe446cb73 100644 --- a/src/cmd/gc/sys.go +++ b/src/cmd/gc/sys.go @@ -16,7 +16,7 @@ func printbool(bool); func printfloat(float64); func printint(int64); func printstring(string); -func printpointer(*any); +func printpointer(any); func printinter(any); func printarray(any); func printnl(); diff --git a/src/cmd/gc/sysimport.c b/src/cmd/gc/sysimport.c index bccc8f877f..08b9adfb7f 100644 --- a/src/cmd/gc/sysimport.c +++ b/src/cmd/gc/sysimport.c @@ -8,7 +8,7 @@ char *sysimport = "func sys.printfloat (? float64)\n" "func sys.printint (? int64)\n" "func sys.printstring (? string)\n" - "func sys.printpointer (? *any)\n" + "func sys.printpointer (? any)\n" "func sys.printinter (? any)\n" "func sys.printarray (? any)\n" "func sys.printnl ()\n" diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c index e7a95d2699..48ab2a6c99 100644 --- a/src/cmd/gc/walk.c +++ b/src/cmd/gc/walk.c @@ -1983,9 +1983,9 @@ loop: argtype(on, l->type); // any-1 break; } - if(isptr[l->type->etype]) { + if(isptr[l->type->etype] || l->type->etype == TCHAN || l->type->etype == TMAP) { on = syslook("printpointer", 1); - argtype(on, l->type->type); // any-1 + argtype(on, l->type); // any-1 break; } if(isslice(l->type)) { @@ -1993,7 +1993,7 @@ loop: argtype(on, l->type); // any-1 break; } - badtype(n->op, l->type, T); + badtype(OPRINT, l->type, T); l = listnext(&save); goto loop;