diff --git a/ssa/ssa_test.go b/ssa/ssa_test.go index b6123bd3..a275d56f 100644 --- a/ssa/ssa_test.go +++ b/ssa/ssa_test.go @@ -23,9 +23,25 @@ import ( "testing" "unsafe" + "github.com/goplus/gogen/packages" "github.com/goplus/llvm" ) +func TestUnsafeString(t *testing.T) { + prog := NewProgram(nil) + prog.SetRuntime(func() *types.Package { + fset := token.NewFileSet() + imp := packages.NewImporter(fset) + pkg, _ := imp.Import(PkgRuntime) + return pkg + }) + pkg := prog.NewPackage("foo", "foo") + sigMain := types.NewSignatureType(nil, nil, nil, nil, nil, false) + b := pkg.NewFunc("main", sigMain, InC).MakeBody(1) + b.Println(b.BuiltinCall("String", b.CStr("hello"), prog.Val(5))) + b.Return() +} + func TestPointerSize(t *testing.T) { expected := unsafe.Sizeof(uintptr(0)) if size := NewProgram(nil).PointerSize(); size != int(expected) {