goplus / llgo

A Go compiler based on LLVM in order to better integrate Go with the C ecosystem including Python
Apache License 2.0
323 stars 26 forks source link

llgo run _demo get nothing on MacOS #353

Closed morpingsss closed 3 months ago

morpingsss commented 3 months ago

There is no output after _demo/interf is executed 截屏2024-06-18 18 32 26

~/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]

ENV

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
aofei commented 3 months ago

What does echo $? output right after running llgo run .?

morpingsss commented 3 months ago

What does echo $? output right after running llgo run .?

截屏2024-06-20 10 17 33
aofei commented 3 months ago

Fixed in #377.

morpingsss commented 3 months ago

The demo has run successfully

截屏2024-06-21 14 16 45