diff options
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/c.zig | 5 |
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()) { |
