mirror of
https://github.com/golang/go
synced 2024-11-19 21:04:43 -07:00
all of pkg now compiles, fixes a few more tests
go/test: passes 90% (313/345) R=rsc APPROVED=rsc DELTA=90 (83 added, 3 deleted, 4 changed) OCL=36011 CL=36023
This commit is contained in:
parent
0af8e1045c
commit
dec1ec34bf
@ -714,11 +714,11 @@ walkexpr(Node **np, NodeList **init)
|
|||||||
case OCONV:
|
case OCONV:
|
||||||
case OCONVNOP:
|
case OCONVNOP:
|
||||||
if(thechar == '5') {
|
if(thechar == '5') {
|
||||||
if(isfloat[n->left->type->etype] && (n->type->etype == TINT64)) {
|
if(isfloat[n->left->type->etype] && (n->type->etype == TINT64 || n->type->etype == TUINT64)) {
|
||||||
n = mkcall("float64toint64", n->type, init, conv(n->left, types[TFLOAT64]));
|
n = mkcall("float64toint64", n->type, init, conv(n->left, types[TFLOAT64]));
|
||||||
goto ret;
|
goto ret;
|
||||||
}
|
}
|
||||||
if((n->left->type->etype == TINT64) && isfloat[n->type->etype]) {
|
if((n->left->type->etype == TINT64 || n->left->type->etype == TUINT64) && isfloat[n->type->etype]) {
|
||||||
n = mkcall("int64tofloat64", n->type, init, conv(n->left, types[TINT64]));
|
n = mkcall("int64tofloat64", n->type, init, conv(n->left, types[TINT64]));
|
||||||
goto ret;
|
goto ret;
|
||||||
}
|
}
|
||||||
|
@ -20,11 +20,8 @@ cp quietgcc.bash $GOBIN/quietgcc
|
|||||||
chmod +x $GOBIN/quietgcc
|
chmod +x $GOBIN/quietgcc
|
||||||
|
|
||||||
# TODO(kaib): converge with normal build
|
# TODO(kaib): converge with normal build
|
||||||
#for i in lib9 libbio libmach libregexp cmd pkg cmd/ebnflint cmd/godoc cmd/gofmt
|
#for i in lib9 libbio libmach libregexp cmd pkg libcgo cmd/cgo cmd/ebnflint cmd/godoc cmd/gofmt
|
||||||
for i in lib9 libbio libmach libregexp cmd pkg/runtime pkg/sync pkg/once pkg/syscall pkg/os pkg/unicode pkg/utf8 pkg/bytes pkg/strings pkg/sort pkg/io pkg/malloc pkg/time pkg/math pkg/strconv pkg/reflect pkg/fmt pkg/bufio
|
for i in lib9 libbio libmach libregexp cmd pkg cmd/cgo cmd/ebnflint cmd/godoc cmd/gofmt
|
||||||
#for i in lib9 libbio libmach libregexp cmd pkg/runtime pkg/sync pkg/once pkg/malloc pkg/sort pkg/unicode
|
|
||||||
# pkg/hash
|
|
||||||
# pkg/math
|
|
||||||
do
|
do
|
||||||
# The ( ) here are to preserve the current directory
|
# The ( ) here are to preserve the current directory
|
||||||
# for the next round despite the cd $i below.
|
# for the next round despite the cd $i below.
|
||||||
|
21
src/pkg/big/arith_arm.s
Normal file
21
src/pkg/big/arith_arm.s
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
// Copyright 2009 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.
|
||||||
|
|
||||||
|
// This file provides fast assembly versions for the elementary
|
||||||
|
// arithmetic operations on vectors implemented in arith.go.
|
||||||
|
|
||||||
|
TEXT big·useAsm(SB),7,$0
|
||||||
|
MOVB $0, 4(SP) // assembly routines disabled
|
||||||
|
RET
|
||||||
|
|
||||||
|
|
||||||
|
// TODO(gri) Implement these routines and enable them.
|
||||||
|
TEXT big·addVV_s(SB),7,$0
|
||||||
|
TEXT big·subVV_s(SB),7,$0
|
||||||
|
TEXT big·addVW_s(SB),7,$0
|
||||||
|
TEXT big·subVW_s(SB),7,$0
|
||||||
|
TEXT big·mulAddVWW_s(SB),7,$0
|
||||||
|
TEXT big·addMulVVW_s(SB),7,$0
|
||||||
|
TEXT big·divWVW_s(SB),7,$0
|
||||||
|
RET
|
56
src/pkg/debug/proc/regs_linux_arm.go
Normal file
56
src/pkg/debug/proc/regs_linux_arm.go
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
// Copyright 2009 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 proc
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os";
|
||||||
|
"syscall";
|
||||||
|
)
|
||||||
|
|
||||||
|
// TODO(kaib): add support
|
||||||
|
|
||||||
|
type armRegs struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *armRegs) PC() Word {
|
||||||
|
return Word(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *armRegs) SetPC(val Word) os.Error {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r * armRegs) Link() Word {
|
||||||
|
return Word(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r* armRegs) SetLink(val Word) (os.Error) {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r* armRegs) SP() Word {
|
||||||
|
return Word(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r* armRegs) SetSP(val Word) os.Error {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r* armRegs) Names() []string {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r* armRegs) Get(i int) Word {
|
||||||
|
return Word(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r* armRegs) Set(i int, val Word) os.Error {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
func newRegs(regs *syscall.PtraceRegs, setter func (*syscall.PtraceRegs) os.Error) Regs {
|
||||||
|
res := armRegs{};
|
||||||
|
return &res;
|
||||||
|
}
|
@ -59,5 +59,11 @@ func NsecToTimeval(nsec int64) (tv Timeval) {
|
|||||||
//sys Stat(path string, stat *Stat_t) (errno int)
|
//sys Stat(path string, stat *Stat_t) (errno int)
|
||||||
//sys Statfs(path string, buf *Statfs_t) (errno int)
|
//sys Statfs(path string, buf *Statfs_t) (errno int)
|
||||||
|
|
||||||
|
// TODO(kaib): add support for tracing
|
||||||
|
func (r *PtraceRegs) PC() uint64 {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *PtraceRegs) SetPC(pc uint64) {
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user