From: Luuk van Dijk Date: Tue, 5 Oct 2010 19:17:16 +0000 (+0200) Subject: 6g: set kind to KindUnsafePointer where appropriate in reflect structures. X-Git-Tag: weekly.2010-10-13~69 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=454f03ff0b00ad59c2b20d08cd4cc4ea5f2641d1;p=gostls13.git 6g: set kind to KindUnsafePointer where appropriate in reflect structures. R=rsc, ken2, r CC=golang-dev https://golang.org/cl/2355043 --- diff --git a/src/cmd/gc/reflect.c b/src/cmd/gc/reflect.c index 9a24e7b2a0..b4485b0c6c 100644 --- a/src/cmd/gc/reflect.c +++ b/src/cmd/gc/reflect.c @@ -598,6 +598,7 @@ dcommontype(Sym *s, int ot, Type *t) // alg uint8; // align uint8; // fieldAlign uint8; + // kind uint8; // string *string; // *nameInfo; // } @@ -615,9 +616,11 @@ dcommontype(Sym *s, int ot, Type *t) i = kinds[t->etype]; if(t->etype == TARRAY && t->bound < 0) i = KindSlice; + if(isptr[t->etype] && t->type->etype == TANY) + i = KindUnsafePointer; if(!haspointers(t)) i |= KindNoPointers; - ot = duint8(s, ot, i); + ot = duint8(s, ot, i); // kind longsymnames = 1; p = smprint("%-T", t); longsymnames = 0; @@ -810,6 +813,7 @@ ok: case TPTR32: case TPTR64: if(t->type->etype == TANY) { + // ../../pkg/runtime/type.go:/UnsafePointerType ot = dcommontype(s, ot, t); break; }