summaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-27 23:46:47 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-27 23:46:47 +0000
commit6a28507b59c4a5b89562962817b45e517f442cd4 (patch)
tree653f12cdcc550e25d779b54aa9b2ae64e7b49ce4 /src/codegen
parentb8834bc878f47b2cee02588607beeac1d1ae1246 (diff)
Fix for #143
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/codegen.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/codegen/codegen.c b/src/codegen/codegen.c
index 7c58943..b090546 100644
--- a/src/codegen/codegen.c
+++ b/src/codegen/codegen.c
@@ -745,7 +745,15 @@ void codegen_expression(ParserContext *ctx, ASTNode *node, FILE *out)
}
else
{
+ if (node->member.target->type == NODE_EXPR_CAST)
+ {
+ fprintf(out, "(");
+ }
codegen_expression(ctx, node->member.target, out);
+ if (node->member.target->type == NODE_EXPR_CAST)
+ {
+ fprintf(out, ")");
+ }
// Verify actual type instead of trusting is_pointer_access flag
char *lt = infer_type(ctx, node->member.target);
int actually_ptr = 0;