diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | src/llvm.cff | 13 |
2 files changed, 11 insertions, 3 deletions
@@ -4,3 +4,4 @@ a.out .cache/ src/host-target-triple.cff vgcore.* +build/ diff --git a/src/llvm.cff b/src/llvm.cff index 98f99ce..d8c8a32 100644 --- a/src/llvm.cff +++ b/src/llvm.cff @@ -114,9 +114,12 @@ fn gen(fmt *const u8, ...) void { if i < f.params.#len - 1 { gen(", "); } else if f.variadic { - gen(", ..."); + gen(", "); } } + if f.variadic { + gen("..."); + } gen(") "); case VaList; gen("%%.type.valist"); case else assert(#f, "type?"); @@ -1266,9 +1269,10 @@ extern fn llvm_genfn(externp bool, name *const u8, f *Fn) void { if f.paramnames[i] { gen(" %%%s", f.paramnames[i]); } - if i < f.paramnames.#len - 1 { + if i < f.paramnames.#len - 1 or f.variadic { gen(", "); } + if f.variadic { gen("..."); } } gen(") { \n"); let id = 0; @@ -1424,9 +1428,12 @@ extern fn llvm_fini() void { if i < f.params.#len - 1 { gen(", "); } else if f.variadic { - gen(", ..."); + gen(", "); } } + if f.variadic { + gen("..."); + } gen(");\n"); case else if !k.externp { |