Merge pull request #1168 from xushiwei/q

#1165 cpkgimp: import c package
This commit is contained in:
xushiwei
2025-06-23 23:07:12 +08:00
committed by GitHub
2 changed files with 50 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
package main
import (
c "github.com/goplus/llgo/cl/_testdata/cpkg"
)
func main() {
println(c.Xadd(1, 2), c.Double(3.14))
}

View File

@@ -0,0 +1,41 @@
; ModuleID = 'github.com/goplus/llgo/cl/_testdata/cpkgimp'
source_filename = "github.com/goplus/llgo/cl/_testdata/cpkgimp"
@"github.com/goplus/llgo/cl/_testdata/cpkgimp.init$guard" = global i1 false, align 1
define void @"github.com/goplus/llgo/cl/_testdata/cpkgimp.init"() {
_llgo_0:
%0 = load i1, ptr @"github.com/goplus/llgo/cl/_testdata/cpkgimp.init$guard", align 1
br i1 %0, label %_llgo_2, label %_llgo_1
_llgo_1: ; preds = %_llgo_0
store i1 true, ptr @"github.com/goplus/llgo/cl/_testdata/cpkgimp.init$guard", align 1
call void @"github.com/goplus/llgo/cl/_testdata/cpkg.init"()
br label %_llgo_2
_llgo_2: ; preds = %_llgo_1, %_llgo_0
ret void
}
define void @"github.com/goplus/llgo/cl/_testdata/cpkgimp.main"() {
_llgo_0:
%0 = call i64 @add(i64 1, i64 2)
%1 = call double @Double(double 3.140000e+00)
call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64 %0)
call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 32)
call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double %1)
call void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8 10)
ret void
}
declare void @"github.com/goplus/llgo/cl/_testdata/cpkg.init"()
declare i64 @add(i64, i64)
declare double @Double(double)
declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintInt"(i64)
declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintByte"(i8)
declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintFloat"(double)