| author | |
| committer | |
| log | 836f007c22e50557dde46c8f766e1150c25271b3 |
| tree | 5c48f12bf4ffcdf5550802760a86eedf3e9276b9 |
| parent | e8eb9778cccd2f2d23027d9e0d73d7053bf92efe |
2 files changed, 13 insertions(+), 1 deletions(-)
src/codegen.zig+13| ... | @@ -339,6 +339,19 @@ pub fn generateSymbol( | ... | @@ -339,6 +339,19 @@ pub fn generateSymbol( |
| 339 | .addend = (reloc_info.addend orelse 0) + addend, | 339 | .addend = (reloc_info.addend orelse 0) + addend, |
| 340 | }); | 340 | }); |
| 341 | }, | 341 | }, |
| 342 | .field_ptr => { | ||
| 343 | switch (try generateSymbol(bin_file, src_loc, .{ | ||
| 344 | .ty = typed_value.ty, | ||
| 345 | .val = container_ptr, | ||
| 346 | }, code, debug_output, reloc_info)) { | ||
| 347 | .appended => {}, | ||
| 348 | .externally_managed => |external_slice| { | ||
| 349 | code.appendSliceAssumeCapacity(external_slice); | ||
| 350 | }, | ||
| 351 | .fail => |em| return Result{ .fail = em }, | ||
| 352 | } | ||
| 353 | return Result{ .appended = {} }; | ||
| 354 | }, | ||
| 342 | else => return Result{ | 355 | else => return Result{ |
| 343 | .fail = try ErrorMsg.create( | 356 | .fail = try ErrorMsg.create( |
| 344 | bin_file.allocator, | 357 | bin_file.allocator, |
test/behavior/struct.zig-1| ... | @@ -780,7 +780,6 @@ test "packed struct with u0 field access" { | ... | @@ -780,7 +780,6 @@ test "packed struct with u0 field access" { |
| 780 | 780 | ||
| 781 | test "access to global struct fields" { | 781 | test "access to global struct fields" { |
| 782 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | 782 | if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO |
| 783 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO | ||
| 784 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 783 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 785 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 784 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 786 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 785 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |