| author | |
| committer | |
| log | 1cfad29f10a557df986fc940dcce7620bbd5d4d9 |
| tree | 27b4a68634bbb3f4fc0b1185ca420357fe4dc165 |
| parent | 098b0b50ab3980a257ad0840034f21ef5349ac8b |
| signature |
This regressed during the internpool merges. This commit
reinstates the padding logic for unions.2 files changed, 4 insertions(+), 1 deletions(-)
src/codegen.zig+4| ... | @@ -598,6 +598,10 @@ pub fn generateSymbol( | ... | @@ -598,6 +598,10 @@ pub fn generateSymbol( |
| 598 | .fail => |em| return Result{ .fail = em }, | 598 | .fail => |em| return Result{ .fail = em }, |
| 599 | } | 599 | } |
| 600 | } | 600 | } |
| 601 | |||
| 602 | if (layout.padding > 0) { | ||
| 603 | try code.writer().writeByteNTimes(0, layout.padding); | ||
| 604 | } | ||
| 601 | }, | 605 | }, |
| 602 | .memoized_call => unreachable, | 606 | .memoized_call => unreachable, |
| 603 | } | 607 | } |
test/behavior/bugs/1381.zig-1| ... | @@ -17,7 +17,6 @@ test "union that needs padding bytes inside an array" { | ... | @@ -17,7 +17,6 @@ test "union that needs padding bytes inside an array" { |
| 17 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; | 17 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 18 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | 18 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 19 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; | 19 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| 20 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; | ||
| 21 | 20 | ||
| 22 | var as = [_]A{ | 21 | var as = [_]A{ |
| 23 | A{ .B = B{ .D = 1 } }, | 22 | A{ .B = B{ .D = 1 } }, |