From b034c45b2bcb3a28ad260037dfa34c40b6c9313b Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Thu, 24 Feb 2022 19:47:42 +0200 Subject: stage2: implement fieldParentPtr --- src/codegen/c.zig | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/codegen/c.zig') 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(); -- cgit v1.2.3