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:
parent
e3c7497327
commit
fdf6761e01
@ -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) {
|
||||
|
@ -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 {
|
||||
|
@ -361,8 +361,7 @@ func typeinit() {
|
||||
dowidth(Types[TSTRING])
|
||||
dowidth(idealstring)
|
||||
|
||||
itable = typ(Tptr)
|
||||
itable.Type = Types[TUINT8]
|
||||
itable = typPtr(Types[TUINT8])
|
||||
}
|
||||
|
||||
func lexinit1() {
|
||||
|
Loading…
Reference in New Issue
Block a user