aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2024-02-28 10:49:28 +0000
committerGitHub <noreply@github.com>2024-02-28 10:49:28 +0000
commit84a7e03178093a6c6bfb582250a775fef745cf48 (patch)
treec6c476ccb3ce62cf64bb01a04d5d11ab1f574bf2 /src/llvm_backend_proc.cpp
parent1bffc8baac4117171307aa8998c8d9dc7c0c4dae (diff)
parentbb23648c7133a1827373bfbb8922504f20e0478c (diff)
Merge pull request #3220 from laytan/promote-types-in-c-varargs
Promote types in `#c_varargs` according to C rules
Diffstat (limited to 'src/llvm_backend_proc.cpp')
-rw-r--r--src/llvm_backend_proc.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp
index 13b0171e4..2c94222cf 100644
--- a/src/llvm_backend_proc.cpp
+++ b/src/llvm_backend_proc.cpp
@@ -3361,9 +3361,9 @@ gb_internal lbValue lb_build_call_expr_internal(lbProcedure *p, Ast *expr) {
for (Ast *var_arg : variadic) {
lbValue arg = lb_build_expr(p, var_arg);
if (is_type_any(elem_type)) {
- array_add(&args, lb_emit_conv(p, arg, default_type(arg.type)));
+ array_add(&args, lb_emit_conv(p, arg, c_vararg_promote_type(default_type(arg.type))));
} else {
- array_add(&args, lb_emit_conv(p, arg, elem_type));
+ array_add(&args, lb_emit_conv(p, arg, c_vararg_promote_type(elem_type)));
}
}
break;