From 007cf1cf97108cba4569d17e7eba59ed5168aa7e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jun 2026 11:53:38 +0000 Subject: [PATCH 1/4] build(deps): bump github.com/goplus/gogen from 1.21.2 to 1.23.3 Bumps [github.com/goplus/gogen](https://github.com/goplus/gogen) from 1.21.2 to 1.23.3. - [Release notes](https://github.com/goplus/gogen/releases) - [Commits](https://github.com/goplus/gogen/compare/v1.21.2...v1.23.3) --- updated-dependencies: - dependency-name: github.com/goplus/gogen dependency-version: 1.23.3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cd094e98..1de109ef 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/goplus/llcppg go 1.23.0 require ( - github.com/goplus/gogen v1.21.2 + github.com/goplus/gogen v1.23.3 github.com/goplus/lib v0.3.1 github.com/goplus/llgo v0.13.0 github.com/qiniu/x v1.16.5 diff --git a/go.sum b/go.sum index 91175f8a..95eab3c2 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -github.com/goplus/gogen v1.21.2 h1:xbXPgZOZiQx/WBM0nZxVSxFbtdCMZCRB+lguDnh8pfs= -github.com/goplus/gogen v1.21.2/go.mod h1:Y7ulYW3wonQ3d9er00b0uGFEV/IUZa6okWJZh892ACQ= +github.com/goplus/gogen v1.23.3 h1:cyw16r8LYsqIeJUobTy/1mv9abUDxsR+ghh0dEZgaRw= +github.com/goplus/gogen v1.23.3/go.mod h1:Y7ulYW3wonQ3d9er00b0uGFEV/IUZa6okWJZh892ACQ= github.com/goplus/lib v0.3.1 h1:Xws4DBVvgOMu58awqB972wtvTacDbk3nqcbHjdx9KSg= github.com/goplus/lib v0.3.1/go.mod h1:SgJv3oPqLLHCu0gcL46ejOP3x7/2ry2Jtxu7ta32kp0= github.com/goplus/llgo v0.13.0 h1:FYT9fe6IuYTXuDRPF/v8VFGeL61cVSrwITxDqEahKiw= From df62e4a6e2ab3413c56e246f4cd9b8f6eb2b9b8c Mon Sep 17 00:00:00 2001 From: luoliwoshang <2643523683@qq.com> Date: Thu, 25 Jun 2026 10:54:13 +0800 Subject: [PATCH 2/4] fix: adapt to gogen NewParam signature --- cl/decl.go | 4 ++-- cl/internal/convert/package.go | 2 +- internal/gowrite/gowrite_test.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cl/decl.go b/cl/decl.go index f3d77575..f3ec347c 100644 --- a/cl/decl.go +++ b/cl/decl.go @@ -76,7 +76,7 @@ func compileFuncDecl(ctx *blockCtx, fn *ast.FuncDecl) { } pkg := ctx.pkg if tyRet := toType(ctx, fnType, parser.FlagGetRetType); ctypes.NotVoid(tyRet) { - results = types.NewTuple(pkg.NewParam(token.NoPos, "", tyRet)) + results = types.NewTuple(pkg.NewParam(token.NoPos, "", tyRet, false)) } /* TODO(xsw): check sig := gogen.NewCSignature(types.NewTuple(params...), results, variadic) @@ -119,7 +119,7 @@ func compileFuncDecl(ctx *blockCtx, fn *ast.FuncDecl) { if testMain { entry = "TestMain" testing := pkg.Import("testing") - t = pkg.NewParam(token.NoPos, "t", types.NewPointer(testing.Ref("T").Type())) + t = pkg.NewParam(token.NoPos, "t", types.NewPointer(testing.Ref("T").Type()), false) entryParams = types.NewTuple(t) } pkg.NewFunc(nil, entry, entryParams, nil, false).BodyStart(pkg) diff --git a/cl/internal/convert/package.go b/cl/internal/convert/package.go index 14b467ff..415e6954 100644 --- a/cl/internal/convert/package.go +++ b/cl/internal/convert/package.go @@ -134,7 +134,7 @@ func (p *Package) newReceiver(typ *ast.FuncType) (*types.Var, error) { if err != nil { return nil, fmt.Errorf("newReceiver:failed to convert type: %w", err) } - return p.p.NewParam(token.NoPos, "recv_", recvType), nil + return p.p.NewParam(token.NoPos, "recv_", recvType, false), nil } func (p *Package) ToSigSignature(recv *types.Var, funcDecl *ast.FuncDecl) (*types.Signature, error) { diff --git a/internal/gowrite/gowrite_test.go b/internal/gowrite/gowrite_test.go index 5d4cc82e..ae431781 100644 --- a/internal/gowrite/gowrite_test.go +++ b/internal/gowrite/gowrite_test.go @@ -37,7 +37,7 @@ func InitHooks() { func TestWriteTo_NonEmptyFuncStaysMultiline(t *testing.T) { pkg := gogen.NewPackage("", "demo", nil) - results := types.NewTuple(pkg.NewParam(token.NoPos, "", types.Typ[types.Int])) + results := types.NewTuple(pkg.NewParam(token.NoPos, "", types.Typ[types.Int], false)) pkg.NewFunc(nil, "RetZero", nil, results, false).BodyStart(pkg).Val(0).Return(1).End() var buf bytes.Buffer From 68051e12b58769c5df823236f7bd260ccc0bd8ea Mon Sep 17 00:00:00 2001 From: luoliwoshang <2643523683@qq.com> Date: Thu, 25 Jun 2026 11:03:05 +0800 Subject: [PATCH 3/4] test: avoid lua generated name collision --- _llcppgtest/lua/conf/linux/llcppg.cfg | 3 +++ _llcppgtest/lua/llcppg.cfg | 3 +++ 2 files changed, 6 insertions(+) diff --git a/_llcppgtest/lua/conf/linux/llcppg.cfg b/_llcppgtest/lua/conf/linux/llcppg.cfg index 6f739444..bdce632c 100644 --- a/_llcppgtest/lua/conf/linux/llcppg.cfg +++ b/_llcppgtest/lua/conf/linux/llcppg.cfg @@ -9,6 +9,9 @@ "lauxlib.h" ], "trimPrefixes": ["lua_", "luaopen_", "luaL_", "LUA_T", "LUA_"], + "symMap": { + "luaL_alloc": "LuaLAlloc" + }, "cplusplus": false, "mix":true } diff --git a/_llcppgtest/lua/llcppg.cfg b/_llcppgtest/lua/llcppg.cfg index 53a76aef..a8165783 100644 --- a/_llcppgtest/lua/llcppg.cfg +++ b/_llcppgtest/lua/llcppg.cfg @@ -9,5 +9,8 @@ "lauxlib.h" ], "trimPrefixes": ["lua_", "luaopen_", "luaL_", "LUA_T", "LUA_"], + "symMap": { + "luaL_alloc": "LuaLAlloc" + }, "cplusplus": false } From 0bef3067f9e6422b749d2cb59d9d26be4a879638 Mon Sep 17 00:00:00 2001 From: luoliwoshang <2643523683@qq.com> Date: Thu, 25 Jun 2026 11:10:28 +0800 Subject: [PATCH 4/4] test: support lua openlibs on darwin --- _llcppgtest/lua/demo/hello/hello.go | 2 +- _llcppgtest/lua/demo/hello/openlibs_darwin.go | 9 +++++++++ _llcppgtest/lua/demo/hello/openlibs_other.go | 9 +++++++++ _llcppgtest/lua/demo/loadcall/loadcall.go | 2 +- _llcppgtest/lua/demo/loadcall/openlibs_darwin.go | 9 +++++++++ _llcppgtest/lua/demo/loadcall/openlibs_other.go | 9 +++++++++ _llcppgtest/lua/demo/metatable/metatable.go | 2 +- _llcppgtest/lua/demo/metatable/openlibs_darwin.go | 9 +++++++++ _llcppgtest/lua/demo/metatable/openlibs_other.go | 9 +++++++++ 9 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 _llcppgtest/lua/demo/hello/openlibs_darwin.go create mode 100644 _llcppgtest/lua/demo/hello/openlibs_other.go create mode 100644 _llcppgtest/lua/demo/loadcall/openlibs_darwin.go create mode 100644 _llcppgtest/lua/demo/loadcall/openlibs_other.go create mode 100644 _llcppgtest/lua/demo/metatable/openlibs_darwin.go create mode 100644 _llcppgtest/lua/demo/metatable/openlibs_other.go diff --git a/_llcppgtest/lua/demo/hello/hello.go b/_llcppgtest/lua/demo/hello/hello.go index 8a135e48..854152ed 100644 --- a/_llcppgtest/lua/demo/hello/hello.go +++ b/_llcppgtest/lua/demo/hello/hello.go @@ -9,7 +9,7 @@ import ( func main() { L := lua.Newstate__1() defer L.Close() - L.Openlibs() + openlibs(L) if res := L.Loadstring(c.Str("print('hello world')")); res != lua.OK { panic("error") } diff --git a/_llcppgtest/lua/demo/hello/openlibs_darwin.go b/_llcppgtest/lua/demo/hello/openlibs_darwin.go new file mode 100644 index 00000000..82dd4c3f --- /dev/null +++ b/_llcppgtest/lua/demo/hello/openlibs_darwin.go @@ -0,0 +1,9 @@ +//go:build darwin + +package main + +import "lua" + +func openlibs(L *lua.State) { + L.Openselectedlibs(-1, 0) +} diff --git a/_llcppgtest/lua/demo/hello/openlibs_other.go b/_llcppgtest/lua/demo/hello/openlibs_other.go new file mode 100644 index 00000000..fc72ce43 --- /dev/null +++ b/_llcppgtest/lua/demo/hello/openlibs_other.go @@ -0,0 +1,9 @@ +//go:build !darwin + +package main + +import "lua" + +func openlibs(L *lua.State) { + L.Openlibs() +} diff --git a/_llcppgtest/lua/demo/loadcall/loadcall.go b/_llcppgtest/lua/demo/loadcall/loadcall.go index 640b6cf4..a70d6e62 100644 --- a/_llcppgtest/lua/demo/loadcall/loadcall.go +++ b/_llcppgtest/lua/demo/loadcall/loadcall.go @@ -12,7 +12,7 @@ func main() { L := lua.Newstate__1() defer L.Close() - L.Openlibs() + openlibs(L) if res := L.Loadstring(c.Str("print('hello world')")); res != lua.OK { println("error") } diff --git a/_llcppgtest/lua/demo/loadcall/openlibs_darwin.go b/_llcppgtest/lua/demo/loadcall/openlibs_darwin.go new file mode 100644 index 00000000..82dd4c3f --- /dev/null +++ b/_llcppgtest/lua/demo/loadcall/openlibs_darwin.go @@ -0,0 +1,9 @@ +//go:build darwin + +package main + +import "lua" + +func openlibs(L *lua.State) { + L.Openselectedlibs(-1, 0) +} diff --git a/_llcppgtest/lua/demo/loadcall/openlibs_other.go b/_llcppgtest/lua/demo/loadcall/openlibs_other.go new file mode 100644 index 00000000..fc72ce43 --- /dev/null +++ b/_llcppgtest/lua/demo/loadcall/openlibs_other.go @@ -0,0 +1,9 @@ +//go:build !darwin + +package main + +import "lua" + +func openlibs(L *lua.State) { + L.Openlibs() +} diff --git a/_llcppgtest/lua/demo/metatable/metatable.go b/_llcppgtest/lua/demo/metatable/metatable.go index edfdcbe0..7d1cce74 100644 --- a/_llcppgtest/lua/demo/metatable/metatable.go +++ b/_llcppgtest/lua/demo/metatable/metatable.go @@ -33,7 +33,7 @@ func main() { L := lua.Newstate__1() defer L.Close() - L.Openlibs() + openlibs(L) L.Createtable(0, 0) printStack(L, "After creating main table") diff --git a/_llcppgtest/lua/demo/metatable/openlibs_darwin.go b/_llcppgtest/lua/demo/metatable/openlibs_darwin.go new file mode 100644 index 00000000..82dd4c3f --- /dev/null +++ b/_llcppgtest/lua/demo/metatable/openlibs_darwin.go @@ -0,0 +1,9 @@ +//go:build darwin + +package main + +import "lua" + +func openlibs(L *lua.State) { + L.Openselectedlibs(-1, 0) +} diff --git a/_llcppgtest/lua/demo/metatable/openlibs_other.go b/_llcppgtest/lua/demo/metatable/openlibs_other.go new file mode 100644 index 00000000..fc72ce43 --- /dev/null +++ b/_llcppgtest/lua/demo/metatable/openlibs_other.go @@ -0,0 +1,9 @@ +//go:build !darwin + +package main + +import "lua" + +func openlibs(L *lua.State) { + L.Openlibs() +}