TestConstBool; Test allocaCStrs

This commit is contained in:
xushiwei
2024-07-13 12:47:29 +08:00
parent 7d3a672c2b
commit 2b08e3604d
2 changed files with 11 additions and 0 deletions

View File

@@ -27,6 +27,12 @@ import (
"golang.org/x/tools/go/ssa" "golang.org/x/tools/go/ssa"
) )
func TestConstBool(t *testing.T) {
if v, ok := constBool(nil); v || ok {
t.Fatal("constBool?")
}
}
func TestToBackground(t *testing.T) { func TestToBackground(t *testing.T) {
if v := toBackground(""); v != llssa.InGo { if v := toBackground(""); v != llssa.InGo {
t.Fatal("toBackground:", v) t.Fatal("toBackground:", v)
@@ -144,6 +150,7 @@ func TestErrBuiltin(t *testing.T) {
test("alloca", func(ctx *context) { ctx.alloca(nil, nil) }) test("alloca", func(ctx *context) { ctx.alloca(nil, nil) })
test("allocaCStr", func(ctx *context) { ctx.allocaCStr(nil, nil) }) test("allocaCStr", func(ctx *context) { ctx.allocaCStr(nil, nil) })
test("allocaCStrs", func(ctx *context) { ctx.allocaCStrs(nil, nil) }) test("allocaCStrs", func(ctx *context) { ctx.allocaCStrs(nil, nil) })
test("allocaCStrs(Nonconst)", func(ctx *context) { ctx.allocaCStrs(nil, []ssa.Value{nil, &ssa.Parameter{}}) })
test("string", func(ctx *context) { ctx.string(nil, nil) }) test("string", func(ctx *context) { ctx.string(nil, nil) })
test("stringData", func(ctx *context) { ctx.stringData(nil, nil) }) test("stringData", func(ctx *context) { ctx.stringData(nil, nil) })
test("funcAddr", func(ctx *context) { ctx.funcAddr(nil, nil) }) test("funcAddr", func(ctx *context) { ctx.funcAddr(nil, nil) })

View File

@@ -144,12 +144,14 @@ func (b Builder) Alloca(n Expr) (ret Expr) {
return return
} }
/* TODO(xsw):
// AllocaU allocates uninitialized space for n*sizeof(elem) bytes. // AllocaU allocates uninitialized space for n*sizeof(elem) bytes.
func (b Builder) AllocaU(elem Type, n ...int64) (ret Expr) { func (b Builder) AllocaU(elem Type, n ...int64) (ret Expr) {
prog := b.Prog prog := b.Prog
size := SizeOf(prog, elem, n...) size := SizeOf(prog, elem, n...)
return Expr{b.Alloca(size).impl, prog.Pointer(elem)} return Expr{b.Alloca(size).impl, prog.Pointer(elem)}
} }
*/
// AllocaCStr allocates space for copy it from a Go string. // AllocaCStr allocates space for copy it from a Go string.
func (b Builder) AllocaCStr(gostr Expr) (ret Expr) { func (b Builder) AllocaCStr(gostr Expr) (ret Expr) {
@@ -230,6 +232,7 @@ func (b Builder) ArrayAlloca(telem Type, n Expr) (ret Expr) {
return return
} }
/* TODO(xsw):
// ArrayAlloc allocates zero initialized space for an array of n elements of type telem. // ArrayAlloc allocates zero initialized space for an array of n elements of type telem.
func (b Builder) ArrayAlloc(telem Type, n Expr) (ret Expr) { func (b Builder) ArrayAlloc(telem Type, n Expr) (ret Expr) {
prog := b.Prog prog := b.Prog
@@ -239,6 +242,7 @@ func (b Builder) ArrayAlloc(telem Type, n Expr) (ret Expr) {
ret.Type = prog.Pointer(telem) ret.Type = prog.Pointer(telem)
return return
} }
*/
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------