aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/c.zig11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index 645bc7074f..be69321ec6 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -473,9 +473,14 @@ pub const DeclGen = struct {
//
// Used for .elem_ptr, .field_ptr, .opt_payload_ptr, .eu_payload_ptr
fn renderParentPtr(dg: *DeclGen, writer: anytype, ptr_val: Value, ptr_ty: Type) error{ OutOfMemory, AnalysisFail }!void {
- try writer.writeByte('(');
- try dg.renderTypecast(writer, ptr_ty);
- try writer.writeByte(')');
+ switch (ptr_ty.ptrSize()) {
+ .Slice => {},
+ .Many, .C, .One => {
+ try writer.writeByte('(');
+ try dg.renderTypecast(writer, ptr_ty);
+ try writer.writeByte(')');
+ },
+ }
switch (ptr_val.tag()) {
.decl_ref_mut, .decl_ref, .variable => {
const decl_index = switch (ptr_val.tag()) {