aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-07-10 11:18:19 +0100
committergingerBill <bill@gingerbill.org>2021-07-10 11:18:19 +0100
commit366227511912bf6aec670f187437c48ddb09293b (patch)
tree4ce17d70ed110f9be484a1b9e93b0732d2831a4f /src/llvm_backend.cpp
parent141573c18cba4ecde552fec53d73c74f854e2b8b (diff)
Allow `x in ptr_to_map_or_bit_set`
Diffstat (limited to 'src/llvm_backend.cpp')
-rw-r--r--src/llvm_backend.cpp5
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:
{