Commit fdf6761e authored by Josh Bleecher Snyder's avatar Josh Bleecher Snyder

cmd/compile: add typPtr

Passes toolstash -cmp.

Change-Id: I721348ed2122b6a9cd87ad2041b6ee3bf6b2bbb5
Reviewed-on: https://go-review.googlesource.com/21306Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent e3c74973
......@@ -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() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment