aboutsummaryrefslogtreecommitdiff
path: root/src/check_stmt.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-05-19 15:02:36 +0100
committergingerBill <bill@gingerbill.org>2021-05-19 15:02:36 +0100
commit92abddddc5ca4be622e93856c7246159b594e9e9 (patch)
tree72b5d4dbb73a4d22e0c0082a5f718ea57bf0ce97 /src/check_stmt.cpp
parent4d580ed693edab796498acf5eba5a1c4d88c9b2b (diff)
Be a little more correct with the temporary Ast node
Diffstat (limited to 'src/check_stmt.cpp')
-rw-r--r--src/check_stmt.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/check_stmt.cpp b/src/check_stmt.cpp
index 64d17a8c8..7772b5c97 100644
--- a/src/check_stmt.cpp
+++ b/src/check_stmt.cpp
@@ -1537,8 +1537,8 @@ void check_stmt_internal(CheckerContext *ctx, Ast *node, u32 flags) {
}
Operand lhs = {Addressing_Invalid};
Operand rhs = {Addressing_Invalid};
- Ast binary_expr = {Ast_BinaryExpr};
- ast_node(be, BinaryExpr, &binary_expr);
+ Ast *binary_expr = alloc_ast_node(node->file, Ast_BinaryExpr);
+ ast_node(be, BinaryExpr, binary_expr);
be->op = op;
be->op.kind = cast(TokenKind)(cast(i32)be->op.kind - (Token_AddEq - Token_Add));
// NOTE(bill): Only use the first one will be used
@@ -1546,7 +1546,7 @@ void check_stmt_internal(CheckerContext *ctx, Ast *node, u32 flags) {
be->right = as->rhs[0];
check_expr(ctx, &lhs, as->lhs[0]);
- check_binary_expr(ctx, &rhs, &binary_expr, nullptr, true);
+ check_binary_expr(ctx, &rhs, binary_expr, nullptr, true);
if (rhs.mode == Addressing_Invalid) {
return;
}