From edc3126e98d5624d6f2a7d47991db0ba5b2b07d3 Mon Sep 17 00:00:00 2001 From: Anthony Martin Date: Thu, 21 Feb 2013 20:06:26 -0800 Subject: [PATCH] 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 --- src/pkg/exp/ssa/interp/external_plan9.go | 26 ++++++++++++++++++++++++ src/pkg/exp/ssa/interp/external_unix.go | 1 - 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/pkg/exp/ssa/interp/external_plan9.go 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} - } -- 2.48.1