Browse Source

Fix empty varargs

gingerBill 2 years ago
parent
commit
ea76e09ea7
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/llvm_backend_proc.cpp

+ 3 - 0
src/llvm_backend_proc.cpp

@@ -3345,6 +3345,9 @@ gb_internal lbValue lb_build_call_expr_internal(lbProcedure *p, Ast *expr) {
 		for_array(arg_index, pt->params->Tuple.variables) {
 		for_array(arg_index, pt->params->Tuple.variables) {
 			Entity *e = pt->params->Tuple.variables[arg_index];
 			Entity *e = pt->params->Tuple.variables[arg_index];
 			if (pt->variadic && arg_index == pt->variadic_index) {
 			if (pt->variadic && arg_index == pt->variadic_index) {
+				if (!is_c_vararg && args[arg_index].value == 0) {
+					args[arg_index] = lb_const_nil(p->module, e->type);
+				}
 				continue;
 				continue;
 			}
 			}