Commit 1cfad29f10

Luuk de Gram <luuk@degram.dev>
2023-06-14 20:03:01
codegen: fix union padding
This regressed during the internpool merges. This commit reinstates the padding logic for unions.
1 parent 098b0b5
Changed files (2)
src
test
behavior
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,
     }
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 } },