diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-02-24 15:52:56 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-24 15:52:56 -0500 |
| commit | e06cb31659ff5afd1e0b846fbaa852df2f5a0af4 (patch) | |
| tree | 18e085201d076dea7320365f47d79ebc00c589eb /src/codegen/c.zig | |
| parent | 5ab5e2e6731a9f1198df6c53134545ccc6a6bbd3 (diff) | |
| parent | cbd5d6c704c03177be90a891fc8fd48e6966487b (diff) | |
| download | zig-e06cb31659ff5afd1e0b846fbaa852df2f5a0af4.tar.gz zig-e06cb31659ff5afd1e0b846fbaa852df2f5a0af4.zip | |
Merge pull request #10982 from Vexu/stage2
stage2: implement fieldParentPtr
Diffstat (limited to 'src/codegen/c.zig')
| -rw-r--r-- | src/codegen/c.zig | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 48ca64d176..2a0751a202 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -1734,6 +1734,8 @@ fn genBody(f: *Function, body: []const Air.Inst.Index) error{ AnalysisFail, OutO .struct_field_ptr_index_2 => try airStructFieldPtrIndex(f, inst, 2), .struct_field_ptr_index_3 => try airStructFieldPtrIndex(f, inst, 3), + .field_parent_ptr => try airFieldParentPtr(f, inst), + .struct_field_val => try airStructFieldVal(f, inst), .slice_ptr => try airSliceField(f, inst, ".ptr;\n"), .slice_len => try airSliceField(f, inst, ".len;\n"), @@ -3026,6 +3028,11 @@ fn airStructFieldPtrIndex(f: *Function, inst: Air.Inst.Index, index: u8) !CValue return structFieldPtr(f, inst, struct_ptr_ty, struct_ptr, index); } +fn airFieldParentPtr(f: *Function, inst: Air.Inst.Index) !CValue { + _ = inst; + return f.fail("TODO: C backend: implement airFieldParentPtr", .{}); +} + fn structFieldPtr(f: *Function, inst: Air.Inst.Index, struct_ptr_ty: Type, struct_ptr: CValue, index: u32) !CValue { const writer = f.object.writer(); const struct_ty = struct_ptr_ty.elemType(); |
