1
0
mirror of https://github.com/golang/go synced 2024-11-18 23:14:43 -07:00

cmd/compile: add typPtr

Passes toolstash -cmp.

Change-Id: I721348ed2122b6a9cd87ad2041b6ee3bf6b2bbb5
Reviewed-on: https://go-review.googlesource.com/21306
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Josh Bleecher Snyder 2016-03-29 10:18:43 -07:00
parent e3c7497327
commit fdf6761e01
3 changed files with 16 additions and 16 deletions

View File

@ -1149,19 +1149,11 @@ var (
)
func initPtrto() {
ptrToUint8 = ptrto1(Types[TUINT8])
ptrToAny = ptrto1(Types[TANY])
ptrToString = ptrto1(Types[TSTRING])
ptrToBool = ptrto1(Types[TBOOL])
ptrToInt32 = ptrto1(Types[TINT32])
}
func ptrto1(t *Type) *Type {
t1 := typ(Tptr)
t1.Type = t
t1.Width = int64(Widthptr)
t1.Align = uint8(Widthptr)
return t1
ptrToUint8 = typPtr(Types[TUINT8])
ptrToAny = typPtr(Types[TANY])
ptrToString = typPtr(Types[TSTRING])
ptrToBool = typPtr(Types[TBOOL])
ptrToInt32 = typPtr(Types[TINT32])
}
// Ptrto returns the Type *t.
@ -1187,7 +1179,7 @@ func Ptrto(t *Type) *Type {
case Types[TBOOL]:
return ptrToBool
}
return ptrto1(t)
return typPtr(t)
}
func frame(context int) {

View File

@ -267,6 +267,15 @@ func typeChan(elem *Type, dir uint8) *Type {
return t
}
// typPtr returns a new pointer type pointing to t.
func typPtr(elem *Type) *Type {
t := typ(Tptr)
t.Type = elem
t.Width = int64(Widthptr)
t.Align = uint8(Widthptr)
return t
}
// typWrapper returns a new wrapper psuedo-type.
func typWrapper(et EType, wrapped *Type) *Type {
switch et {

View File

@ -361,8 +361,7 @@ func typeinit() {
dowidth(Types[TSTRING])
dowidth(idealstring)
itable = typ(Tptr)
itable.Type = Types[TUINT8]
itable = typPtr(Types[TUINT8])
}
func lexinit1() {