Commit d7530c8f7b
src/Sema.zig
@@ -20816,6 +20816,7 @@ pub fn resolveTypeLayout(
.Struct => return sema.resolveStructLayout(block, src, ty),
.Union => return sema.resolveUnionLayout(block, src, ty),
.Array => {
+ if (ty.arrayLenIncludingSentinel() == 0) return;
const elem_ty = ty.childType();
return sema.resolveTypeLayout(block, src, elem_ty);
},
test/behavior/array.zig
@@ -479,10 +479,7 @@ test "sentinel element count towards the ABI size calculation" {
test "zero-sized array with recursive type definition" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
const U = struct {