diff options
| author | gingerBill <bill@gingerbill.org> | 2021-07-10 11:18:19 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-07-10 11:18:19 +0100 |
| commit | 366227511912bf6aec670f187437c48ddb09293b (patch) | |
| tree | 4ce17d70ed110f9be484a1b9e93b0732d2831a4f /src/llvm_backend.cpp | |
| parent | 141573c18cba4ecde552fec53d73c74f854e2b8b (diff) | |
Allow `x in ptr_to_map_or_bit_set`
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 1df07f986..0466d76cf 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -7753,6 +7753,11 @@ lbValue lb_build_binary_expr(lbProcedure *p, Ast *expr) { Type *type = default_type(tv.type); lbValue right = lb_build_expr(p, be->right); Type *rt = base_type(right.type); + if (is_type_pointer(rt)) { + right = lb_emit_load(p, right); + rt = type_deref(rt); + } + switch (rt->kind) { case Type_Map: { |