aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/c.zig5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index 3e8398bb83..a973dd1fc5 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -1363,7 +1363,8 @@ pub const DeclGen = struct {
}
const name_end = buffer.items.len;
- try bw.print("[{d}];\n", .{t.arrayLenIncludingSentinel()});
+ const c_len = t.arrayLenIncludingSentinel();
+ try bw.print("[{d}];\n", .{if (c_len > 0) c_len else 1});
const rendered = buffer.toOwnedSlice();
errdefer dg.typedefs.allocator.free(rendered);
@@ -3514,7 +3515,7 @@ fn airOptionalPayloadPtr(f: *Function, inst: Air.Inst.Index) !CValue {
const payload_ty = opt_ty.optionalChild(&buf);
if (!payload_ty.hasRuntimeBitsIgnoreComptime()) {
- return operand;
+ return CValue.undefined_ptr;
}
if (opt_ty.optionalReprIsPayload()) {