diff options
| author | Emily Bellows <emily.a.bellows@hey.com> | 2021-10-31 14:21:02 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-11-02 12:45:29 -0400 |
| commit | 674932e503e5b3a929f5a17eb4aa2fd2866219c3 (patch) | |
| tree | 996ee589e424fde8f61fe6edd1a02001c49001e2 /src/type.zig | |
| parent | 325bae7fc0025f7153bd1de1c28e642e896190b1 (diff) | |
| download | zig-674932e503e5b3a929f5a17eb4aa2fd2866219c3.tar.gz zig-674932e503e5b3a929f5a17eb4aa2fd2866219c3.zip | |
C backend: implement ?void, and other zero sized types
Diffstat (limited to 'src/type.zig')
| -rw-r--r-- | src/type.zig | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/type.zig b/src/type.zig index a43c80cb2e..e02ec051cf 100644 --- a/src/type.zig +++ b/src/type.zig @@ -1805,7 +1805,13 @@ pub const Type = extern union { .void, => 0, - .@"struct" => return self.structFieldOffset(self.structFieldCount(), target), + .@"struct" => { + const field_count = self.structFieldCount(); + if (field_count == 0) { + return 0; + } + return self.structFieldOffset(field_count, target); + }, .enum_simple, .enum_full, .enum_nonexhaustive, .enum_numbered => { var buffer: Payload.Bits = undefined; const int_tag_ty = self.intTagType(&buffer); |
