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

+ 9 - 3
src/llvm_backend_proc.cpp

@@ -3329,9 +3329,15 @@ gb_internal lbValue lb_build_call_expr_internal(lbProcedure *p, Ast *expr) {
 		isize param_index = lookup_procedure_parameter(pt, name);
 		isize param_index = lookup_procedure_parameter(pt, name);
 		GB_ASSERT(param_index >= 0);
 		GB_ASSERT(param_index >= 0);
 
 
-		lbValue value = lb_build_expr(p, fv->value);
-		GB_ASSERT(!is_type_tuple(value.type));
-		args[param_index] = value;
+		Entity *e = pt->params->Tuple.variables[param_index];
+		if (e->kind == Entity_TypeName) {
+			lbValue value = lb_const_nil(p->module, e->type);
+			args[param_index] = value;
+		} else {
+			lbValue value = lb_build_expr(p, fv->value);
+			GB_ASSERT(!is_type_tuple(value.type));
+			args[param_index] = value;
+		}
 	}
 	}
 
 
 	TokenPos pos = ast_token(ce->proc).pos;
 	TokenPos pos = ast_token(ce->proc).pos;