diff options
| author | Luuk de Gram <luuk@degram.dev> | 2023-06-14 20:03:01 +0200 |
|---|---|---|
| committer | Luuk de Gram <luuk@degram.dev> | 2023-06-16 17:16:56 +0200 |
| commit | 1cfad29f10a557df986fc940dcce7620bbd5d4d9 (patch) | |
| tree | 27b4a68634bbb3f4fc0b1185ca420357fe4dc165 | |
| parent | 098b0b50ab3980a257ad0840034f21ef5349ac8b (diff) | |
| download | zig-1cfad29f10a557df986fc940dcce7620bbd5d4d9.tar.gz zig-1cfad29f10a557df986fc940dcce7620bbd5d4d9.zip | |
codegen: fix union padding
This regressed during the internpool merges. This commit
reinstates the padding logic for unions.
| -rw-r--r-- | src/codegen.zig | 4 | ||||
| -rw-r--r-- | test/behavior/bugs/1381.zig | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index b39c3c5ec0..cd1ed53307 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -598,6 +598,10 @@ pub fn generateSymbol( .fail => |em| return Result{ .fail = em }, } } + + if (layout.padding > 0) { + try code.writer().writeByteNTimes(0, layout.padding); + } }, .memoized_call => unreachable, } diff --git a/test/behavior/bugs/1381.zig b/test/behavior/bugs/1381.zig index f35c963df3..90941de341 100644 --- a/test/behavior/bugs/1381.zig +++ b/test/behavior/bugs/1381.zig @@ -17,7 +17,6 @@ test "union that needs padding bytes inside an array" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; - if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; var as = [_]A{ A{ .B = B{ .D = 1 } }, |
