Closed morpingsss closed 3 months ago
There is no output after _demo/interf is executed
~/go/src/llgo/_demo/interf git:(main) llgo run .
Compiled output
llgo run -v . 2024/06/18 18:21:57 ==> BuildSSA github.com/goplus/llgo/_demo/interf/foo 2024/06/18 18:21:57 ==> BuildSSA github.com/goplus/llgo/_demo/interf github.com/goplus/llgo/_demo/interf/foo 2024/06/18 18:21:57 ==> NewFunc github.com/goplus/llgo/_demo/interf/foo.Bar type: <nil> func() any ftype: 1 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/_demo/interf/foo.Bar func() any hasFreeVars: false 2024/06/18 18:21:57 ==> NewFunc github.com/goplus/llgo/_demo/interf/foo.F type: <nil> func() any ftype: 1 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/_demo/interf/foo.F func() any hasFreeVars: false 2024/06/18 18:21:57 ==> NewFunc github.com/goplus/llgo/_demo/interf/foo.init type: <nil> func() ftype: 1 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/_demo/interf/foo.init func() hasFreeVars: false 2024/06/18 18:21:57 ==> NewVar github.com/goplus/llgo/_demo/interf/foo.init$guard *bool # Name: github.com/goplus/llgo/_demo/interf/foo.Bar # Package: github.com/goplus/llgo/_demo/interf/foo # Location: /Users/lixianyu/go/src/llgo/_demo/interf/foo/foo.go:3:6 # Locals: # 0: t0 struct{V int} func Bar() any: 0: entry P:0 S:0 t0 = local struct{V int} (complit) *struct{V int} t1 = &t0.V [#0] *int *t1 = 1:int t2 = *t0 struct{V int} t3 = make any <- struct{V int} (t2) any return t3 2024/06/18 18:21:57 ==> FuncBody github.com/goplus/llgo/_demo/interf/foo.Bar 2024/06/18 18:21:57 Block _llgo_0: 2024/06/18 18:21:57 Alloc struct{V int}, false 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.Zeroinit func(p unsafe.Pointer, size uintptr) unsafe.Pointer hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(p unsafe.Pointer, size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.Zeroinit: %0 = alloca { i64 }, align 8, i64 8 2024/06/18 18:21:57 FieldAddr %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %0, i64 8), 0 2024/06/18 18:21:57 Store *int, %2 = getelementptr inbounds { i64 }, ptr %1, i32 0, i32 0, i64 1 2024/06/18 18:21:57 UnOp *, %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %0, i64 8) 2024/06/18 18:21:57 Load %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %0, i64 8) 2024/06/18 18:21:57 MakeInterface any, %3 = load { i64 }, ptr %1, align 4 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/_demo/interf/foo.init$after func() hasFreeVars: false 2024/06/18 18:21:57 Load @_llgo_int = linkonce global ptr null, align 8 2024/06/18 18:21:57 BinOp 39, %0 = load ptr, ptr @_llgo_int, align 8, ptr null 2024/06/18 18:21:57 If %1 = icmp eq ptr %0, null, _llgo_1, _llgo_2 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.Basic func(kind github.com/goplus/llgo/internal/abi.Kind) *github.com/goplus/llgo/internal/abi.Type hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(kind github.com/goplus/llgo/internal/abi.Kind) *github.com/goplus/llgo/internal/abi.Type github.com/goplus/llgo/internal/runtime.Basic: i64 2 2024/06/18 18:21:57 Store **github.com/goplus/llgo/internal/abi.Type, @_llgo_int = linkonce global ptr null, align 8, %2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2) 2024/06/18 18:21:57 Jump _llgo_2 2024/06/18 18:21:57 FieldAddr %2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2), 6 2024/06/18 18:21:57 Load %3 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %2, i32 0, i32 6 2024/06/18 18:21:57 BinOp 18, %4 = load i8, ptr %3, align 1, i8 32 2024/06/18 18:21:57 Store *byte, %3 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %2, i32 0, i32 6, %5 = or i8 %4, 32 2024/06/18 18:21:57 Load @_llgo_int = linkonce global ptr null, align 8 2024/06/18 18:21:57 Load @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk" = linkonce global ptr null, align 8 2024/06/18 18:21:57 BinOp 39, %7 = load ptr, ptr @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk", align 8, ptr null 2024/06/18 18:21:57 If %8 = icmp eq ptr %7, null, _llgo_3, _llgo_4 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.Struct func(pkgPath string, size uintptr, fields []github.com/goplus/llgo/internal/abi.StructField) *github.com/goplus/llgo/internal/abi.Type hasFreeVars: false 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.StructField func(name string, typ *github.com/goplus/llgo/internal/abi.Type, off uintptr, tag string, embedded bool) github.com/goplus/llgo/internal/abi.StructField hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(name string, typ *github.com/goplus/llgo/internal/abi.Type, off uintptr, tag string, embedded bool) github.com/goplus/llgo/internal/abi.StructField github.com/goplus/llgo/internal/runtime.StructField: %12 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %9, align 8, %6 = load ptr, ptr @_llgo_int, align 8, i64 0, %16 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %13, align 8, i1 false 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.AllocU func(size uintptr) unsafe.Pointer hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.AllocU: i64 56 2024/06/18 18:21:57 Advance %22 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56), i64 0 2024/06/18 18:21:57 Store *github.com/goplus/llgo/internal/abi.StructField, %23 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %22, i64 0, %17 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %12, ptr %6, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %16, i1 false) 2024/06/18 18:21:57 Call 8 func(pkgPath string, size uintptr, fields []github.com/goplus/llgo/internal/abi.StructField) *github.com/goplus/llgo/internal/abi.Type github.com/goplus/llgo/internal/runtime.Struct: %21 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %18, align 8, i64 8, %28 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %24, align 8 2024/06/18 18:21:57 Store **github.com/goplus/llgo/internal/abi.Type, @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk" = linkonce global ptr null, align 8, %29 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %21, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %28) 2024/06/18 18:21:57 Jump _llgo_4 2024/06/18 18:21:57 FieldAddr %29 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %21, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %28), 6 2024/06/18 18:21:57 Load %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %29, i32 0, i32 6 2024/06/18 18:21:57 BinOp 18, %31 = load i8, ptr %30, align 1, i8 32 2024/06/18 18:21:57 Store *byte, %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %29, i32 0, i32 6, %32 = or i8 %31, 32 2024/06/18 18:21:57 Load @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk" = linkonce global ptr null, align 8 2024/06/18 18:21:57 FieldAddr %4 = load ptr, ptr @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk", align 8, 6 2024/06/18 18:21:57 Load %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %4, i32 0, i32 6 2024/06/18 18:21:57 BinOp 18, %7 = load i8, ptr %6, align 1, i8 32 2024/06/18 18:21:57 Store *byte, %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %4, i32 0, i32 6, %8 = or i8 %7, 32 2024/06/18 18:21:57 Return %13 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %10, align 8 # Name: github.com/goplus/llgo/_demo/interf/foo.F # Package: github.com/goplus/llgo/_demo/interf/foo # Location: /Users/lixianyu/go/src/llgo/_demo/interf/foo/foo.go:7:6 # Locals: # 0: t0 struct{v int} func F() any: 0: entry P:0 S:0 t0 = local struct{v int} (complit) *struct{v int} t1 = &t0.v [#0] *int *t1 = 1:int t2 = *t0 struct{v int} t3 = make any <- struct{v int} (t2) any return t3 2024/06/18 18:21:57 ==> FuncBody github.com/goplus/llgo/_demo/interf/foo.F 2024/06/18 18:21:57 Block _llgo_0: 2024/06/18 18:21:57 Alloc struct{v int}, false 2024/06/18 18:21:57 Call 8 func(p unsafe.Pointer, size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.Zeroinit: %0 = alloca { i64 }, align 8, i64 8 2024/06/18 18:21:57 FieldAddr %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %0, i64 8), 0 2024/06/18 18:21:57 Store *int, %2 = getelementptr inbounds { i64 }, ptr %1, i32 0, i32 0, i64 1 2024/06/18 18:21:57 UnOp *, %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %0, i64 8) 2024/06/18 18:21:57 Load %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %0, i64 8) 2024/06/18 18:21:57 MakeInterface any, %3 = load { i64 }, ptr %1, align 4 2024/06/18 18:21:57 Load @_llgo_int = linkonce global ptr null, align 8 2024/06/18 18:21:57 Call 8 func(name string, typ *github.com/goplus/llgo/internal/abi.Type, off uintptr, tag string, embedded bool) github.com/goplus/llgo/internal/abi.StructField github.com/goplus/llgo/internal/runtime.StructField: %37 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %34, align 8, %33 = load ptr, ptr @_llgo_int, align 8, i64 0, %41 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %38, align 8, i1 false 2024/06/18 18:21:57 Call 8 func(size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.AllocU: i64 56 2024/06/18 18:21:57 Advance %47 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56), i64 0 2024/06/18 18:21:57 Store *github.com/goplus/llgo/internal/abi.StructField, %48 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %47, i64 0, %42 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %37, ptr %33, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %41, i1 false) 2024/06/18 18:21:57 Call 8 func(pkgPath string, size uintptr, fields []github.com/goplus/llgo/internal/abi.StructField) *github.com/goplus/llgo/internal/abi.Type github.com/goplus/llgo/internal/runtime.Struct: %46 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %43, align 8, i64 8, %53 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, align 8 2024/06/18 18:21:57 Store **github.com/goplus/llgo/internal/abi.Type, @"github.com/goplus/llgo/_demo/interf/foo.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88" = global ptr null, align 8, %54 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %46, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %53) 2024/06/18 18:21:57 FieldAddr %54 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %46, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %53), 6 2024/06/18 18:21:57 Load %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %54, i32 0, i32 6 2024/06/18 18:21:57 BinOp 18, %56 = load i8, ptr %55, align 1, i8 32 2024/06/18 18:21:57 Store *byte, %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %54, i32 0, i32 6, %57 = or i8 %56, 32 2024/06/18 18:21:57 Load @"github.com/goplus/llgo/_demo/interf/foo.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88" = global ptr null, align 8 2024/06/18 18:21:57 FieldAddr %4 = load ptr, ptr @"github.com/goplus/llgo/_demo/interf/foo.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8, 6 2024/06/18 18:21:57 Load %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %4, i32 0, i32 6 2024/06/18 18:21:57 BinOp 18, %7 = load i8, ptr %6, align 1, i8 32 2024/06/18 18:21:57 Store *byte, %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %4, i32 0, i32 6, %8 = or i8 %7, 32 2024/06/18 18:21:57 Return %13 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %10, align 8 # Name: github.com/goplus/llgo/_demo/interf/foo.init # Package: github.com/goplus/llgo/_demo/interf/foo # Synthetic: package initializer func init(): 0: entry P:0 S:2 t0 = *init$guard bool if t0 goto 2 else 1 1: init.start P:1 S:1 *init$guard = true:bool jump 2 2: init.done P:2 S:0 return 2024/06/18 18:21:57 ==> FuncBody github.com/goplus/llgo/_demo/interf/foo.init 2024/06/18 18:21:57 Block _llgo_0: 2024/06/18 18:21:57 UnOp *, @"github.com/goplus/llgo/_demo/interf/foo.init$guard" = global i1 false, align 1 2024/06/18 18:21:57 Load @"github.com/goplus/llgo/_demo/interf/foo.init$guard" = global i1 false, align 1 2024/06/18 18:21:57 If %0 = load i1, ptr @"github.com/goplus/llgo/_demo/interf/foo.init$guard", align 1, _llgo_2, _llgo_1 2024/06/18 18:21:57 Block _llgo_1: 2024/06/18 18:21:57 Store *bool, @"github.com/goplus/llgo/_demo/interf/foo.init$guard" = global i1 false, align 1, i1 true 2024/06/18 18:21:57 Jump _llgo_2 2024/06/18 18:21:57 Block _llgo_2: 2024/06/18 18:21:57 Return 2024/06/18 18:21:57 Return 2024/06/18 18:21:57 Call 8 func() github.com/goplus/llgo/_demo/interf/foo.init$after github.com/goplus/llgo/_demo/interf 2024/06/18 18:21:57 ==> NewFunc main.Foo type: <nil> func() any ftype: 1 2024/06/18 18:21:57 NewFunc main.Foo func() any hasFreeVars: false 2024/06/18 18:21:57 ==> NewFunc main.init type: <nil> func() ftype: 1 2024/06/18 18:21:57 NewFunc main.init func() hasFreeVars: false 2024/06/18 18:21:57 ==> NewVar main.init$guard *bool 2024/06/18 18:21:57 ==> NewFunc main type: <nil> func() ftype: 1 2024/06/18 18:21:57 NewFunc main func(int32, **int8) int32 hasFreeVars: false # Name: github.com/goplus/llgo/_demo/interf.Foo # Package: github.com/goplus/llgo/_demo/interf # Location: /Users/lixianyu/go/src/llgo/_demo/interf/interf.go:7:6 # Locals: # 0: t0 struct{v int} func Foo() any: 0: entry P:0 S:0 t0 = local struct{v int} (complit) *struct{v int} t1 = &t0.v [#0] *int *t1 = 1:int t2 = *t0 struct{v int} t3 = make any <- struct{v int} (t2) any return t3 2024/06/18 18:21:57 ==> FuncBody main.Foo 2024/06/18 18:21:57 Block _llgo_0: 2024/06/18 18:21:57 Alloc struct{v int}, false 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.Zeroinit func(p unsafe.Pointer, size uintptr) unsafe.Pointer hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(p unsafe.Pointer, size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.Zeroinit: %0 = alloca { i64 }, align 8, i64 8 2024/06/18 18:21:57 FieldAddr %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %0, i64 8), 0 2024/06/18 18:21:57 Store *int, %2 = getelementptr inbounds { i64 }, ptr %1, i32 0, i32 0, i64 1 2024/06/18 18:21:57 UnOp *, %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %0, i64 8) 2024/06/18 18:21:57 Load %1 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %0, i64 8) 2024/06/18 18:21:57 MakeInterface any, %3 = load { i64 }, ptr %1, align 4 2024/06/18 18:21:57 NewFunc main.init$after func() hasFreeVars: false 2024/06/18 18:21:57 Load @_llgo_int = linkonce global ptr null, align 8 2024/06/18 18:21:57 BinOp 39, %0 = load ptr, ptr @_llgo_int, align 8, ptr null 2024/06/18 18:21:57 If %1 = icmp eq ptr %0, null, _llgo_1, _llgo_2 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.Basic func(kind github.com/goplus/llgo/internal/abi.Kind) *github.com/goplus/llgo/internal/abi.Type hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(kind github.com/goplus/llgo/internal/abi.Kind) *github.com/goplus/llgo/internal/abi.Type github.com/goplus/llgo/internal/runtime.Basic: i64 2 2024/06/18 18:21:57 Store **github.com/goplus/llgo/internal/abi.Type, @_llgo_int = linkonce global ptr null, align 8, %2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2) 2024/06/18 18:21:57 Jump _llgo_2 2024/06/18 18:21:57 FieldAddr %2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2), 6 2024/06/18 18:21:57 Load %3 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %2, i32 0, i32 6 2024/06/18 18:21:57 BinOp 18, %4 = load i8, ptr %3, align 1, i8 32 2024/06/18 18:21:57 Store *byte, %3 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %2, i32 0, i32 6, %5 = or i8 %4, 32 2024/06/18 18:21:57 Load @_llgo_int = linkonce global ptr null, align 8 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.Struct func(pkgPath string, size uintptr, fields []github.com/goplus/llgo/internal/abi.StructField) *github.com/goplus/llgo/internal/abi.Type hasFreeVars: false 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.StructField func(name string, typ *github.com/goplus/llgo/internal/abi.Type, off uintptr, tag string, embedded bool) github.com/goplus/llgo/internal/abi.StructField hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(name string, typ *github.com/goplus/llgo/internal/abi.Type, off uintptr, tag string, embedded bool) github.com/goplus/llgo/internal/abi.StructField github.com/goplus/llgo/internal/runtime.StructField: %10 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %7, align 8, %6 = load ptr, ptr @_llgo_int, align 8, i64 0, %14 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %11, align 8, i1 false 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.AllocU func(size uintptr) unsafe.Pointer hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.AllocU: i64 56 2024/06/18 18:21:57 Advance %20 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56), i64 0 2024/06/18 18:21:57 Store *github.com/goplus/llgo/internal/abi.StructField, %21 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %20, i64 0, %15 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %10, ptr %6, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %14, i1 false) 2024/06/18 18:21:57 Call 8 func(pkgPath string, size uintptr, fields []github.com/goplus/llgo/internal/abi.StructField) *github.com/goplus/llgo/internal/abi.Type github.com/goplus/llgo/internal/runtime.Struct: %19 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %16, align 8, i64 8, %26 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %22, align 8 2024/06/18 18:21:57 Store **github.com/goplus/llgo/internal/abi.Type, @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88" = global ptr null, align 8, %27 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %19, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %26) 2024/06/18 18:21:57 FieldAddr %27 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %19, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %26), 6 2024/06/18 18:21:57 Load %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %27, i32 0, i32 6 2024/06/18 18:21:57 BinOp 18, %29 = load i8, ptr %28, align 1, i8 32 2024/06/18 18:21:57 Store *byte, %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %27, i32 0, i32 6, %30 = or i8 %29, 32 2024/06/18 18:21:57 Load @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88" = global ptr null, align 8 2024/06/18 18:21:57 FieldAddr %4 = load ptr, ptr @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8, 6 2024/06/18 18:21:57 Load %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %4, i32 0, i32 6 2024/06/18 18:21:57 BinOp 18, %7 = load i8, ptr %6, align 1, i8 32 2024/06/18 18:21:57 Store *byte, %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %4, i32 0, i32 6, %8 = or i8 %7, 32 2024/06/18 18:21:57 Return %13 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %10, align 8 # Name: github.com/goplus/llgo/_demo/interf.init # Package: github.com/goplus/llgo/_demo/interf # Synthetic: package initializer func init(): 0: entry P:0 S:2 t0 = *init$guard bool if t0 goto 2 else 1 1: init.start P:1 S:1 *init$guard = true:bool t1 = github.com/goplus/llgo/_demo/interf/foo.init() () jump 2 2: init.done P:2 S:0 return 2024/06/18 18:21:57 ==> FuncBody main.init 2024/06/18 18:21:57 Block _llgo_0: 2024/06/18 18:21:57 UnOp *, @"main.init$guard" = global i1 false, align 1 2024/06/18 18:21:57 Load @"main.init$guard" = global i1 false, align 1 2024/06/18 18:21:57 If %0 = load i1, ptr @"main.init$guard", align 1, _llgo_2, _llgo_1 2024/06/18 18:21:57 Block _llgo_1: 2024/06/18 18:21:57 Store *bool, @"main.init$guard" = global i1 false, align 1, i1 true 2024/06/18 18:21:57 >>> Do 0 github.com/goplus/llgo/_demo/interf/foo.init [] 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/_demo/interf/foo.init func() hasFreeVars: false 2024/06/18 18:21:57 Call 8 func() github.com/goplus/llgo/_demo/interf/foo.init 2024/06/18 18:21:57 Jump _llgo_2 2024/06/18 18:21:57 Block _llgo_2: 2024/06/18 18:21:57 Return # Name: github.com/goplus/llgo/_demo/interf.main # Package: github.com/goplus/llgo/_demo/interf # Location: /Users/lixianyu/go/src/llgo/_demo/interf/interf.go:11:6 # Locals: # 0: t1 struct{v int} # 1: t9 struct{V int} # 2: t17 struct{v int} func main(): 0: entry P:0 S:2 t0 = Foo() any t1 = local struct{v int} (x) *struct{v int} t2 = typeassert,ok t0.(struct{v int}) (value struct{v int}, ok bool) t3 = extract t2 #0 struct{v int} *t1 = t3 t4 = extract t2 #1 bool if t4 goto 1 else 3 1: if.then P:1 S:1 t5 = &t1.v [#0] *int t6 = *t5 int t7 = println(t6) () jump 2 2: if.done P:2 S:2 t8 = github.com/goplus/llgo/_demo/interf/foo.Bar() any t9 = local struct{V int} (x) *struct{V int} t10 = typeassert,ok t8.(struct{V int}) (value struct{V int}, ok bool) t11 = extract t10 #0 struct{V int} *t9 = t11 t12 = extract t10 #1 bool if t12 goto 4 else 6 3: if.else P:1 S:1 t13 = println("Foo: not ok":string) () jump 2 4: if.then P:1 S:1 t14 = &t9.V [#0] *int t15 = *t14 int t16 = println(t15) () jump 5 5: if.done P:2 S:2 t17 = local struct{v int} (x) *struct{v int} t18 = github.com/goplus/llgo/_demo/interf/foo.F() any t19 = typeassert,ok t18.(struct{v int}) (value struct{v int}, ok bool) t20 = extract t19 #0 struct{v int} *t17 = t20 t21 = extract t19 #1 bool if t21 goto 7 else 9 6: if.else P:1 S:1 t22 = println("Bar: not ok":string) () jump 5 7: if.then P:1 S:1 t23 = &t17.v [#0] *int t24 = *t23 int t25 = println(t24) () jump 8 8: if.done P:2 S:0 return 9: if.else P:1 S:1 t26 = println("F: not ok":string) () jump 8 2024/06/18 18:21:57 ==> FuncBody main 2024/06/18 18:21:57 Block _llgo_0: 2024/06/18 18:21:57 Store *int32, @__llgo_argc = global i32 0, align 4, i32 %0 2024/06/18 18:21:57 Store ***int8, @__llgo_argv = global ptr null, align 8, ptr %1 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.init func() hasFreeVars: false 2024/06/18 18:21:57 Call 8 func() github.com/goplus/llgo/internal/runtime.init 2024/06/18 18:21:57 Call 8 func() main.init 2024/06/18 18:21:57 >>> Do 0 github.com/goplus/llgo/_demo/interf.Foo [] 2024/06/18 18:21:57 Call 8 func() any main.Foo 2024/06/18 18:21:57 Alloc struct{v int}, false 2024/06/18 18:21:57 Call 8 func(p unsafe.Pointer, size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.Zeroinit: %3 = alloca { i64 }, align 8, i64 8 2024/06/18 18:21:57 TypeAssert %2 = call %"github.com/goplus/llgo/internal/runtime.eface" @main.Foo(), struct{v int}, true 2024/06/18 18:21:57 Load @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88" = global ptr null, align 8 2024/06/18 18:21:57 BinOp 39, %5 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %2, 0, %6 = load ptr, ptr @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8 2024/06/18 18:21:57 If %7 = icmp eq ptr %5, %6, _llgo_10, _llgo_11 2024/06/18 18:21:57 Jump _llgo_12 2024/06/18 18:21:57 Jump _llgo_12 2024/06/18 18:21:57 Extract %21 = phi { { i64 }, i1 } [ %16, %_llgo_10 ], [ %20, %_llgo_11 ], 0 2024/06/18 18:21:57 Store *struct{v int}, %4 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %3, i64 8), %22 = extractvalue { { i64 }, i1 } %21, 0 2024/06/18 18:21:57 Extract %21 = phi { { i64 }, i1 } [ %16, %_llgo_10 ], [ %20, %_llgo_11 ], 1 2024/06/18 18:21:57 If %23 = extractvalue { { i64 }, i1 } %21, 1, _llgo_1, _llgo_3 2024/06/18 18:21:57 Block _llgo_1: 2024/06/18 18:21:57 FieldAddr %4 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %3, i64 8), 0 2024/06/18 18:21:57 UnOp *, %8 = getelementptr inbounds { i64 }, ptr %4, i32 0, i32 0 2024/06/18 18:21:57 Load %8 = getelementptr inbounds { i64 }, ptr %4, i32 0, i32 0 2024/06/18 18:21:57 >>> Do 0 builtin println [*t5] 2024/06/18 18:21:57 Convert int64 <- int 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.PrintInt func(v int64) hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(v int64) github.com/goplus/llgo/internal/runtime.PrintInt: %9 = load i64, ptr %8, align 4 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.PrintByte func(v byte) hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(v byte) github.com/goplus/llgo/internal/runtime.PrintByte: i8 10 2024/06/18 18:21:57 Jump _llgo_2 2024/06/18 18:21:57 Block _llgo_3: 2024/06/18 18:21:57 >>> Do 0 builtin println ["Foo: not ok":string] 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/internal/runtime.PrintString func(s github.com/goplus/llgo/internal/runtime.String) hasFreeVars: false 2024/06/18 18:21:57 Call 8 func(s github.com/goplus/llgo/internal/runtime.String) github.com/goplus/llgo/internal/runtime.PrintString: %13 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %10, align 8 2024/06/18 18:21:57 Call 8 func(v byte) github.com/goplus/llgo/internal/runtime.PrintByte: i8 10 2024/06/18 18:21:57 Jump _llgo_2 2024/06/18 18:21:57 Block _llgo_2: 2024/06/18 18:21:57 >>> Do 0 github.com/goplus/llgo/_demo/interf/foo.Bar [] 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/_demo/interf/foo.Bar func() any hasFreeVars: false 2024/06/18 18:21:57 Call 8 func() any github.com/goplus/llgo/_demo/interf/foo.Bar 2024/06/18 18:21:57 Alloc struct{V int}, false 2024/06/18 18:21:57 Call 8 func(p unsafe.Pointer, size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.Zeroinit: %11 = alloca { i64 }, align 8, i64 8 2024/06/18 18:21:57 TypeAssert %10 = call %"github.com/goplus/llgo/internal/runtime.eface" @"github.com/goplus/llgo/_demo/interf/foo.Bar"(), struct{V int}, true 2024/06/18 18:21:57 Load @_llgo_int = linkonce global ptr null, align 8 2024/06/18 18:21:57 Load @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk" = linkonce global ptr null, align 8 2024/06/18 18:21:57 BinOp 39, %32 = load ptr, ptr @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk", align 8, ptr null 2024/06/18 18:21:57 If %33 = icmp eq ptr %32, null, _llgo_3, _llgo_4 2024/06/18 18:21:57 Call 8 func(name string, typ *github.com/goplus/llgo/internal/abi.Type, off uintptr, tag string, embedded bool) github.com/goplus/llgo/internal/abi.StructField github.com/goplus/llgo/internal/runtime.StructField: %37 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %34, align 8, %31 = load ptr, ptr @_llgo_int, align 8, i64 0, %41 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %38, align 8, i1 false 2024/06/18 18:21:57 Call 8 func(size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.AllocU: i64 56 2024/06/18 18:21:57 Advance %47 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56), i64 0 2024/06/18 18:21:57 Store *github.com/goplus/llgo/internal/abi.StructField, %48 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %47, i64 0, %42 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %37, ptr %31, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %41, i1 false) 2024/06/18 18:21:57 Call 8 func(pkgPath string, size uintptr, fields []github.com/goplus/llgo/internal/abi.StructField) *github.com/goplus/llgo/internal/abi.Type github.com/goplus/llgo/internal/runtime.Struct: %46 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %43, align 8, i64 8, %53 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, align 8 2024/06/18 18:21:57 Store **github.com/goplus/llgo/internal/abi.Type, @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk" = linkonce global ptr null, align 8, %54 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %46, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %53) 2024/06/18 18:21:57 Jump _llgo_4 2024/06/18 18:21:57 FieldAddr %54 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %46, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %53), 6 2024/06/18 18:21:57 Load %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %54, i32 0, i32 6 2024/06/18 18:21:57 BinOp 18, %56 = load i8, ptr %55, align 1, i8 32 2024/06/18 18:21:57 Store *byte, %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %54, i32 0, i32 6, %57 = or i8 %56, 32 2024/06/18 18:21:57 Load @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk" = linkonce global ptr null, align 8 2024/06/18 18:21:57 BinOp 39, %13 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %10, 0, %14 = load ptr, ptr @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk", align 8 2024/06/18 18:21:57 If %15 = icmp eq ptr %13, %14, _llgo_13, _llgo_14 2024/06/18 18:21:57 Jump _llgo_15 2024/06/18 18:21:57 Jump _llgo_15 2024/06/18 18:21:57 Extract %49 = phi { { i64 }, i1 } [ %44, %_llgo_13 ], [ %48, %_llgo_14 ], 0 2024/06/18 18:21:57 Store *struct{V int}, %12 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %11, i64 8), %50 = extractvalue { { i64 }, i1 } %49, 0 2024/06/18 18:21:57 Extract %49 = phi { { i64 }, i1 } [ %44, %_llgo_13 ], [ %48, %_llgo_14 ], 1 2024/06/18 18:21:57 If %51 = extractvalue { { i64 }, i1 } %49, 1, _llgo_4, _llgo_6 2024/06/18 18:21:57 Block _llgo_4: 2024/06/18 18:21:57 FieldAddr %12 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %11, i64 8), 0 2024/06/18 18:21:57 UnOp *, %20 = getelementptr inbounds { i64 }, ptr %12, i32 0, i32 0 2024/06/18 18:21:57 Load %20 = getelementptr inbounds { i64 }, ptr %12, i32 0, i32 0 2024/06/18 18:21:57 >>> Do 0 builtin println [*t14] 2024/06/18 18:21:57 Convert int64 <- int 2024/06/18 18:21:57 Call 8 func(v int64) github.com/goplus/llgo/internal/runtime.PrintInt: %21 = load i64, ptr %20, align 4 2024/06/18 18:21:57 Call 8 func(v byte) github.com/goplus/llgo/internal/runtime.PrintByte: i8 10 2024/06/18 18:21:57 Jump _llgo_5 2024/06/18 18:21:57 Block _llgo_6: 2024/06/18 18:21:57 >>> Do 0 builtin println ["Bar: not ok":string] 2024/06/18 18:21:57 Call 8 func(s github.com/goplus/llgo/internal/runtime.String) github.com/goplus/llgo/internal/runtime.PrintString: %25 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %22, align 8 2024/06/18 18:21:57 Call 8 func(v byte) github.com/goplus/llgo/internal/runtime.PrintByte: i8 10 2024/06/18 18:21:57 Jump _llgo_5 2024/06/18 18:21:57 Block _llgo_5: 2024/06/18 18:21:57 Alloc struct{v int}, false 2024/06/18 18:21:57 Call 8 func(p unsafe.Pointer, size uintptr) unsafe.Pointer github.com/goplus/llgo/internal/runtime.Zeroinit: %22 = alloca { i64 }, align 8, i64 8 2024/06/18 18:21:57 >>> Do 0 github.com/goplus/llgo/_demo/interf/foo.F [] 2024/06/18 18:21:57 NewFunc github.com/goplus/llgo/_demo/interf/foo.F func() any hasFreeVars: false 2024/06/18 18:21:57 Call 8 func() any github.com/goplus/llgo/_demo/interf/foo.F 2024/06/18 18:21:57 TypeAssert %24 = call %"github.com/goplus/llgo/internal/runtime.eface" @"github.com/goplus/llgo/_demo/interf/foo.F"(), struct{v int}, true 2024/06/18 18:21:57 Load @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88" = global ptr null, align 8 2024/06/18 18:21:57 BinOp 39, %25 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %24, 0, %26 = load ptr, ptr @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8 2024/06/18 18:21:57 If %27 = icmp eq ptr %25, %26, _llgo_16, _llgo_17 2024/06/18 18:21:57 Jump _llgo_18 2024/06/18 18:21:57 Jump _llgo_18 2024/06/18 18:21:57 Extract %77 = phi { { i64 }, i1 } [ %72, %_llgo_16 ], [ %76, %_llgo_17 ], 0 2024/06/18 18:21:57 Store *struct{v int}, %23 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %22, i64 8), %78 = extractvalue { { i64 }, i1 } %77, 0 2024/06/18 18:21:57 Extract %77 = phi { { i64 }, i1 } [ %72, %_llgo_16 ], [ %76, %_llgo_17 ], 1 2024/06/18 18:21:57 If %79 = extractvalue { { i64 }, i1 } %77, 1, _llgo_7, _llgo_9 2024/06/18 18:21:57 Block _llgo_7: 2024/06/18 18:21:57 FieldAddr %23 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %22, i64 8), 0 2024/06/18 18:21:57 UnOp *, %32 = getelementptr inbounds { i64 }, ptr %23, i32 0, i32 0 2024/06/18 18:21:57 Load %32 = getelementptr inbounds { i64 }, ptr %23, i32 0, i32 0 2024/06/18 18:21:57 >>> Do 0 builtin println [*t23] 2024/06/18 18:21:57 Convert int64 <- int 2024/06/18 18:21:57 Call 8 func(v int64) github.com/goplus/llgo/internal/runtime.PrintInt: %33 = load i64, ptr %32, align 4 2024/06/18 18:21:57 Call 8 func(v byte) github.com/goplus/llgo/internal/runtime.PrintByte: i8 10 2024/06/18 18:21:57 Jump _llgo_8 2024/06/18 18:21:57 Block _llgo_9: 2024/06/18 18:21:57 >>> Do 0 builtin println ["F: not ok":string] 2024/06/18 18:21:57 Call 8 func(s github.com/goplus/llgo/internal/runtime.String) github.com/goplus/llgo/internal/runtime.PrintString: %37 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %34, align 8 2024/06/18 18:21:57 Call 8 func(v byte) github.com/goplus/llgo/internal/runtime.PrintByte: i8 10 2024/06/18 18:21:57 Jump _llgo_8 2024/06/18 18:21:57 Block _llgo_8: 2024/06/18 18:21:57 Return i32 0 2024/06/18 18:21:57 Return 2024/06/18 18:21:57 Call 8 func() main.init$after 2024/06/18 18:21:57 ==> BuildSSA internal/goarch 2024/06/18 18:21:57 ==> BuildSSA internal/goos 2024/06/18 18:21:57 ==> BuildSSA runtime/internal/sys 2024/06/18 18:21:57 ==> BuildSSA unsafe 2024/06/18 18:21:57 ==> BuildSSA internal/race 2024/06/18 18:21:57 ==> BuildSSA internal/abi 2024/06/18 18:21:57 ==> BuildSSA internal/cpu 2024/06/18 18:21:57 ==> BuildSSA internal/bytealg 2024/06/18 18:21:57 ==> BuildSSA internal/chacha8rand 2024/06/18 18:21:57 ==> BuildSSA internal/coverage/rtcov 2024/06/18 18:21:57 ==> BuildSSA internal/godebugs 2024/06/18 18:21:57 ==> BuildSSA internal/goexperiment 2024/06/18 18:21:57 ==> BuildSSA runtime/internal/atomic 2024/06/18 18:21:57 ==> BuildSSA runtime/internal/math 2024/06/18 18:21:57 ==> BuildSSA runtime 2024/06/18 18:21:57 ==> BuildSSA sync/atomic 2024/06/18 18:21:57 ==> BuildSSA sync 2024/06/18 18:21:57 ==> BuildSSA runtime/cgo 2024/06/18 18:21:57 ==> BuildSSA internal/unsafeheader 2024/06/18 18:21:57 ==> BuildSSA internal/reflectlite 2024/06/18 18:21:57 ==> BuildSSA errors 2024/06/18 18:21:57 ==> BuildSSA internal/itoa 2024/06/18 18:21:57 ==> BuildSSA internal/oserror 2024/06/18 18:21:57 ==> BuildSSA syscall 2024/06/18 18:21:57 ==> BuildSSA github.com/goplus/llgo/c 2024/06/18 18:21:57 ==> BuildSSA github.com/goplus/llgo/c/bdwgc 2024/06/18 18:21:57 ==> BuildSSA github.com/goplus/llgo/c/pthread 2024/06/18 18:21:57 ==> BuildSSA github.com/goplus/llgo/internal/abi 2024/06/18 18:21:57 ==> BuildSSA github.com/goplus/llgo/internal/runtime internal/goarch internal/goos runtime/internal/sys internal/race internal/abi internal/cpu internal/bytealg internal/chacha8rand internal/coverage/rtcov internal/godebugs internal/goexperiment runtime/internal/atomic runtime/internal/math internal/unsafeheader internal/reflectlite errors internal/itoa internal/oserror github.com/goplus/llgo/internal/abi github.com/goplus/llgo/internal/runtime # github.com/goplus/llgo/_demo/interf clang [-o /Users/lixianyu/.goenv/versions/1.22.4/bin/interf -Wno-override-module -Xlinker -dead_strip /Users/lixianyu/Library/Caches/go-build/3c/3c280af4c374791ea5f4e09324755fd14522d6bfaa0aaa26fe6964f1e53cb341-d.ll /Users/lixianyu/Library/Caches/go-build/74/74a10aad5ab0acf15246b50b1ad789d64b2619a1c22b3de3dcf44858c610400e-d.ll -L/usr/local/Cellar/bdw-gc/8.2.6/lib -lgc -lpthread /Users/lixianyu/go/src/llgo/c/bdwgc/llgo_autogen.ll /Users/lixianyu/Library/Caches/go-build/be/beebb53623d0357eb8fca8f85307a2a170931774b8ecdb5dc00e53a807ae8e25-d.ll /Users/lixianyu/Library/Caches/go-build/a7/a7da9acff85586b77ca01c79ee6544645ea3199c5689d46a8bf3d28782e83221-d.ll]
MacOS Version
ProductName: macOS ProductVersion: 13.6.7 BuildVersion: 22G720
uname -a Darwin lixianyudeMacBook-Pro.local 22.6.0 Darwin Kernel Version 22.6.0: Mon Apr 22 20:54:28 PDT 2024; root:xnu-8796.141.3.705.2~1/RELEASE_X86_64 x86_64
clang version
Homebrew clang version 17.0.6 Target: x86_64-apple-darwin22.6.0 Thread model: posix InstalledDir: /usr/local/opt/llvm@17/bin
go version
go version go1.22.4 darwin/amd64
What does echo $? output right after running llgo run .?
echo $?
llgo run .
Fixed in #377.
The demo has run successfully
There is no output after _demo/interf is executed
~/go/src/llgo/_demo/interf git:(main) llgo run .
Compiled output
ENV
MacOS Version
clang version
go version