aboutsummaryrefslogtreecommitdiff
path: root/src/llvm.cff
diff options
context:
space:
mode:
Diffstat (limited to 'src/llvm.cff')
-rw-r--r--src/llvm.cff13
1 files changed, 10 insertions, 3 deletions
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 {