From: Anthony Martin Date: Fri, 22 Feb 2013 04:06:26 +0000 (-0800) Subject: exp/ssa/interp: fix build for Plan 9 X-Git-Tag: go1.1rc2~907 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=edc3126e98d5624d6f2a7d47991db0ba5b2b07d3;p=gostls13.git exp/ssa/interp: fix build for Plan 9 R=adonovan, minux.ma, alex.brainman, akumar, rminnich CC=golang-dev, lucio.dere https://golang.org/cl/7300078 --- diff --git a/src/pkg/exp/ssa/interp/external_plan9.go b/src/pkg/exp/ssa/interp/external_plan9.go new file mode 100644 index 0000000000..5f17cacda6 --- /dev/null +++ b/src/pkg/exp/ssa/interp/external_plan9.go @@ -0,0 +1,26 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package interp + +import ( + "exp/ssa" + "syscall" +) + +func extÛ°syscallÛ°Kill(fn *ssa.Function, args []value) value { + panic("syscall.Kill not yet implemented") +} + +func extÛ°syscallÛ°Write(fn *ssa.Function, args []value) value { + // We could emulate syscall.Syscall but it's more effort. + p := args[1].([]value) + b := make([]byte, 0, len(p)) + for i := range p { + b = append(b, p[i].(byte)) + } + n, _ := syscall.Write(args[0].(int), b) + err := iface{} // TODO(adonovan): fix: adapt concrete err to interpreted iface. + return tuple{n, err} +} diff --git a/src/pkg/exp/ssa/interp/external_unix.go b/src/pkg/exp/ssa/interp/external_unix.go index e021ff7214..afc874535f 100644 --- a/src/pkg/exp/ssa/interp/external_unix.go +++ b/src/pkg/exp/ssa/interp/external_unix.go @@ -28,5 +28,4 @@ func extÛ°syscallÛ°Write(fn *ssa.Function, args []value) value { n, _ := syscall.Write(args[0].(int), b) err := iface{} // TODO(adonovan): fix: adapt concrete err to interpreted iface. return tuple{n, err} - }