authorgravatar for david.martschenko@web.deDavid Martschenko <david.martschenko@web.de> 2022-02-19 12:37:46+01:00
committergravatar for david.martschenko@web.deDavid Martschenko <david.martschenko@web.de> 2022-02-19 13:04:59+01:00
log4a6454fb8d910a22d888262ea80165ec24c9f190
treed4f16b97cc3cf394f15bc4d4cc37ffc3f875e0d1
parent2f0204aca303daf899a97c740719a62398adc206

C backend: fix codegen for field_ptr/elem_ptr values


2 files changed, 5 insertions(+), 5 deletions(-)

src/codegen/c.zig+2-2
...@@ -464,7 +464,7 @@ pub const DeclGen = struct {...@@ -464,7 +464,7 @@ pub const DeclGen = struct {
464 .variable => ptr_val.castTag(.variable).?.data.owner_decl,464 .variable => ptr_val.castTag(.variable).?.data.owner_decl,
465 else => unreachable,465 else => unreachable,
466 };466 };
467 try dg.renderDeclValue(writer, decl.ty, ptr_val, decl);467 try dg.renderDeclName(decl, writer);
468 return decl.ty;468 return decl.ty;
469 },469 },
470 .field_ptr => {470 .field_ptr => {
...@@ -490,7 +490,7 @@ pub const DeclGen = struct {...@@ -490,7 +490,7 @@ pub const DeclGen = struct {
490 },490 },
491 .elem_ptr => {491 .elem_ptr => {
492 const elem_ptr = ptr_val.castTag(.elem_ptr).?.data;492 const elem_ptr = ptr_val.castTag(.elem_ptr).?.data;
493 try writer.writeAll("&(*");493 try writer.writeAll("&(");
494 const container_ty = try dg.renderChildPtr(writer, elem_ptr.array_ptr);494 const container_ty = try dg.renderChildPtr(writer, elem_ptr.array_ptr);
495 try writer.print(")[{d}]", .{elem_ptr.index});495 try writer.print(")[{d}]", .{elem_ptr.index});
496 return container_ty.childType();496 return container_ty.childType();
test/behavior.zig+3-3
...@@ -100,19 +100,19 @@ test {...@@ -100,19 +100,19 @@ test {
100100
101 if (builtin.zig_backend != .stage2_wasm) {101 if (builtin.zig_backend != .stage2_wasm) {
102 // Tests that pass for stage1, llvm backend, C backend102 // Tests that pass for stage1, llvm backend, C backend
103 _ = @import("behavior/bugs/9584.zig");
103 _ = @import("behavior/cast_int.zig");104 _ = @import("behavior/cast_int.zig");
105 _ = @import("behavior/eval.zig");
104 _ = @import("behavior/int128.zig");106 _ = @import("behavior/int128.zig");
107 _ = @import("behavior/merge_error_sets.zig");
105 _ = @import("behavior/translate_c_macros.zig");108 _ = @import("behavior/translate_c_macros.zig");
106109
107 if (builtin.zig_backend != .stage2_c) {110 if (builtin.zig_backend != .stage2_c) {
108 // Tests that pass for stage1 and the llvm backend.111 // Tests that pass for stage1 and the llvm backend.
109 _ = @import("behavior/atomics.zig");112 _ = @import("behavior/atomics.zig");
110 _ = @import("behavior/bugs/9584.zig");
111 _ = @import("behavior/eval.zig");
112 _ = @import("behavior/floatop.zig");113 _ = @import("behavior/floatop.zig");
113 _ = @import("behavior/math.zig");114 _ = @import("behavior/math.zig");
114 _ = @import("behavior/maximum_minimum.zig");115 _ = @import("behavior/maximum_minimum.zig");
115 _ = @import("behavior/merge_error_sets.zig");
116 _ = @import("behavior/popcount.zig");116 _ = @import("behavior/popcount.zig");
117 _ = @import("behavior/saturating_arithmetic.zig");117 _ = @import("behavior/saturating_arithmetic.zig");
118 _ = @import("behavior/sizeof_and_typeof.zig");118 _ = @import("behavior/sizeof_and_typeof.zig");