瀏覽代碼

Fix empty varargs

gingerBill 2 年之前
父節點
當前提交
ea76e09ea7
共有 1 個文件被更改,包括 3 次插入0 次删除
  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;
 			}
 			}