diff options
Diffstat (limited to 'decls_cgen.c')
-rw-r--r-- | decls_cgen.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/decls_cgen.c b/decls_cgen.c index dcf5629..0a7a521 100644 --- a/decls_cgen.c +++ b/decls_cgen.c @@ -8,8 +8,11 @@ static bool cgen_decls_expr(CGenerator *g, Expression *e) { return false; break; case EXPR_BINARY_OP: - if (!cgen_decls_expr(g, e->binary.lhs) - || !cgen_decls_expr(g, e->binary.rhs)) + if (!cgen_decls_expr(g, e->binary.lhs)) + return false; + + if (e->binary.op != BINARY_DOT) + if (!cgen_decls_expr(g, e->binary.rhs)) return false; break; case EXPR_CAST: |