From 4f6f1c44538408709ce03e2d1ce94d1d8c8a93bc Mon Sep 17 00:00:00 2001 From: xushiwei Date: Mon, 23 Jun 2025 22:58:26 +0800 Subject: [PATCH] #1165 cpkgimp: import c package --- cl/_testdata/cpkgimp/in.go | 9 ++++++++ cl/_testdata/cpkgimp/out.ll | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 cl/_testdata/cpkgimp/in.go create mode 100644 cl/_testdata/cpkgimp/out.ll diff --git a/cl/_testdata/cpkgimp/in.go b/cl/_testdata/cpkgimp/in.go new file mode 100644 index 00000000..d9dc460a --- /dev/null +++ b/cl/_testdata/cpkgimp/in.go @@ -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)) +} diff --git a/cl/_testdata/cpkgimp/out.ll b/cl/_testdata/cpkgimp/out.ll new file mode 100644 index 00000000..9f3a64d7 --- /dev/null +++ b/cl/_testdata/cpkgimp/out.ll @@ -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)