diff options
| author | gingerBill <bill@gingerbill.org> | 2018-02-18 15:14:13 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2018-02-18 15:14:13 +0000 |
| commit | 4c339360e94a66a9b081af4950266eaa3da0003c (patch) | |
| tree | 3e552da56621b7d8a75117a9bb64a94e0b0a29f6 /src/ir.cpp | |
| parent | 731dad480d705d3dd32a7ecb7bbb6c0d020e3a6b (diff) | |
auto_cast
Diffstat (limited to 'src/ir.cpp')
| -rw-r--r-- | src/ir.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ir.cpp b/src/ir.cpp index f0d0c4606..1a33f17e1 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -4979,6 +4979,10 @@ irValue *ir_build_expr_internal(irProcedure *proc, AstNode *expr) { GB_PANIC("Invalid AST TypeCast"); case_end; + case_ast_node(ac, AutoCast, expr); + return ir_build_expr(proc, ac->expr); + case_end; + case_ast_node(ue, UnaryExpr, expr); switch (ue->op.kind) { case Token_And: { @@ -6052,6 +6056,10 @@ irAddr ir_build_addr(irProcedure *proc, AstNode *expr) { ir_emit_store(proc, v, e); return ir_addr(v); case_end; + + case_ast_node(ac, AutoCast, expr); + return ir_build_addr(proc, ac->expr); + case_end; } TokenPos token_pos = ast_node_token(expr).pos; |