Răsfoiți Sursa

Add `slice` variable if not exists

gingerBill 1 an în urmă
părinte
comite
f657055f12
1 a modificat fișierele cu 4 adăugiri și 0 ștergeri
  1. 4 0
      src/llvm_backend_proc.cpp

+ 4 - 0
src/llvm_backend_proc.cpp

@@ -3496,6 +3496,10 @@ gb_internal lbValue lb_build_call_expr_internal(lbProcedure *p, Ast *expr) {
 							base_array_ptr = p->variadic_reuse_base_array_ptr.addr;
 							base_array_ptr = p->variadic_reuse_base_array_ptr.addr;
 						}
 						}
 
 
+						if (slice.addr.value == nullptr) {
+							slice = lb_add_local_generated(p, slice_type, true);
+						}
+
 						GB_ASSERT(base_array_ptr.value != nullptr);
 						GB_ASSERT(base_array_ptr.value != nullptr);
 						GB_ASSERT(slice.addr.value != nullptr);
 						GB_ASSERT(slice.addr.value != nullptr);