diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2021-08-16 12:03:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-16 12:03:43 +0100 |
| commit | 5f072591ba70abf6df59f4ed9372649e7ebda710 (patch) | |
| tree | 8c9d02259b75be22736d65d4a595ee933a26a259 /src/llvm_backend_expr.cpp | |
| parent | d62f189d7261160a2d3c66bfba2fda182a863fbd (diff) | |
| parent | e3fef2dadef2b10342222f0314583f6f53e39ff4 (diff) | |
Merge pull request #1082 from odin-lang/or_else-or_return-operator
`or_else` and `or_return` operators
Diffstat (limited to 'src/llvm_backend_expr.cpp')
| -rw-r--r-- | src/llvm_backend_expr.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/llvm_backend_expr.cpp b/src/llvm_backend_expr.cpp index 1c5f03722..e6bb35c0c 100644 --- a/src/llvm_backend_expr.cpp +++ b/src/llvm_backend_expr.cpp @@ -2305,6 +2305,14 @@ lbValue lb_build_expr(lbProcedure *p, Ast *expr) { } case_end; + case_ast_node(oe, OrElseExpr, expr); + return lb_emit_or_else(p, oe->x, oe->y, tv); + case_end; + + case_ast_node(oe, OrReturnExpr, expr); + return lb_emit_or_return(p, oe->expr, tv); + case_end; + case_ast_node(ta, TypeAssertion, expr); TokenPos pos = ast_token(expr).pos; Type *type = tv.type; |