From 6920a601619b5bbbec7b01d722868c82e9fd1708 Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Wed, 18 Mar 2026 12:56:41 +0100 Subject: [PATCH] C: don't output argument names without name --- src/c.jl | 7 +++++-- test/bindinginfo_libsimple.json | 9 +++++++++ test/runtests.jl | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/c.jl b/src/c.jl index f4bf578..827cf8c 100644 --- a/src/c.jl +++ b/src/c.jl @@ -72,7 +72,10 @@ function wrapper(dest::CProject, abi_info::ABIInfo) print(f, ", ") end ft = mangle_c!(typedict, arg.type, typeinfo) - print(f, ft, " ", sanitize_for_c(arg.name)) + print(f, ft) + if !(isempty(arg.name) || arg.name == "#unused#") + print(f, " ", sanitize_for_c(arg.name)) + end if arg.isva print(f, "...") end @@ -80,7 +83,7 @@ function wrapper(dest::CProject, abi_info::ABIInfo) print(f, ");\n") end - println(f, "#endif // $libvar") + println(f, "\n#endif // $libvar") end end diff --git a/test/bindinginfo_libsimple.json b/test/bindinginfo_libsimple.json index 005e688..5d4cd9c 100644 --- a/test/bindinginfo_libsimple.json +++ b/test/bindinginfo_libsimple.json @@ -8,6 +8,15 @@ ], "returns": { "type_id": 6 } }, + { + "symbol": "unnamed_arguments", + "name": "unnamed_arguments(::Int32, ::Int32)", + "arguments": [ + { "name": "", "type_id": 4 }, + { "name": "#unused#", "type_id": 4 } + ], + "returns": { "type_id": 4 } + }, { "symbol": "copyto_and_sum", "name": "copyto_and_sum(fromto::CVectorPair{Float32})", diff --git a/test/runtests.jl b/test/runtests.jl index 32790a6..a2de3d8 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -180,6 +180,7 @@ end @test occursin("CVector_Float32 to;", content) @test occursin("float copyto_and_sum(CVectorPair_Float32 fromto);", content) @test occursin("int32_t countsame(MyTwoVec* list, int32_t n);", content) + @test occursin("int32_t unnamed_arguments(int32_t, int32_t);", content) end end end