mirror of
https://github.com/ziglang/zig.git
synced 2026-02-15 22:09:49 +00:00
stage2 llvm backend: if an array has a senteniel, add it
This commit is contained in:
parent
353eec73ca
commit
908f722107
@ -796,11 +796,13 @@ pub const DeclGen = struct {
|
||||
const gpa = self.gpa;
|
||||
const elem_ty = tv.ty.elemType();
|
||||
const elem_vals = payload.data;
|
||||
const llvm_elems = try gpa.alloc(*const llvm.Value, elem_vals.len);
|
||||
const sento = tv.ty.sentinel();
|
||||
const llvm_elems = try gpa.alloc(*const llvm.Value, elem_vals.len + @boolToInt(sento != null));
|
||||
defer gpa.free(llvm_elems);
|
||||
for (elem_vals) |elem_val, i| {
|
||||
llvm_elems[i] = try self.genTypedValue(.{ .ty = elem_ty, .val = elem_val });
|
||||
}
|
||||
if (sento) |sent| llvm_elems[elem_vals.len] = try self.genTypedValue(.{ .ty = elem_ty, .val = sent });
|
||||
const llvm_elem_ty = try self.llvmType(elem_ty);
|
||||
return llvm_elem_ty.constArray(
|
||||
llvm_elems.ptr,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user