diff --git a/src/codegen.zig b/src/codegen.zig index fbc8bd9b3a..6220970003 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -339,6 +339,19 @@ pub fn generateSymbol( .addend = (reloc_info.addend orelse 0) + addend, }); }, + .field_ptr => { + switch (try generateSymbol(bin_file, src_loc, .{ + .ty = typed_value.ty, + .val = container_ptr, + }, code, debug_output, reloc_info)) { + .appended => {}, + .externally_managed => |external_slice| { + code.appendSliceAssumeCapacity(external_slice); + }, + .fail => |em| return Result{ .fail = em }, + } + return Result{ .appended = {} }; + }, else => return Result{ .fail = try ErrorMsg.create( bin_file.allocator, diff --git a/test/behavior/struct.zig b/test/behavior/struct.zig index a5e39ad071..34ae73bc24 100644 --- a/test/behavior/struct.zig +++ b/test/behavior/struct.zig @@ -780,7 +780,6 @@ test "packed struct with u0 field access" { test "access to global struct fields" { if (builtin.zig_backend == .stage2_wasm) 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 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO