]> Cypherpunks repositories - gostls13.git/commitdiff
print(map) and print(chan) as pointers.
authorRuss Cox <rsc@golang.org>
Mon, 26 Jan 2009 23:36:28 +0000 (15:36 -0800)
committerRuss Cox <rsc@golang.org>
Mon, 26 Jan 2009 23:36:28 +0000 (15:36 -0800)
R=ken
OCL=23520
CL=23520

src/cmd/gc/sys.go
src/cmd/gc/sysimport.c
src/cmd/gc/walk.c

index fc10f181a8a31973b932bcf33f510ff37e98626f..dbe446cb7334445d8e6f90614f7598a53fabcc3c 100644 (file)
@@ -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();
index bccc8f877fcbc5822204c426e2df80e9a784e9cf..08b9adfb7ff48aaccd8e86cf081be8da07b26a61 100644 (file)
@@ -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"
index e7a95d269998b3e496774766d0ffea23da494db9..48ab2a6c99ca2aaaee0885189ba252d1054329ac 100644 (file)
@@ -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;