diff options
Diffstat (limited to 'src/cmd/compile/internal/ssa/expand_calls.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/expand_calls.go | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/ssa/expand_calls.go b/src/cmd/compile/internal/ssa/expand_calls.go index 679ee8ad16..e06ed882f0 100644 --- a/src/cmd/compile/internal/ssa/expand_calls.go +++ b/src/cmd/compile/internal/ssa/expand_calls.go @@ -527,6 +527,7 @@ func expandCalls(f *Func) { // it could be a leaf type, but the "leaf" could be complex64 (for example) return storeArgOrLoad(pos, b, base, source, mem, t, offset) } + source.Type = t for i := int64(0); i < t.NumElem(); i++ { sel := source.Block.NewValue1I(pos, OpArraySelect, elt, i, source) mem = storeArgOrLoad(pos, b, base, sel, mem, elt, offset+i*elt.Width) @@ -559,6 +560,7 @@ func expandCalls(f *Func) { return storeArgOrLoad(pos, b, base, source, mem, t, offset) } + source.Type = t for i := 0; i < t.NumFields(); i++ { fld := t.Field(i) sel := source.Block.NewValue1I(pos, OpStructSelect, fld.Type, int64(i), source) |