aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/llvm.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-07-22 20:47:40 -0700
committerGitHub <noreply@github.com>2022-07-22 20:47:40 -0700
commitf591936480730a279d55a051f92806e19834faf7 (patch)
treedda39b1ee5d5e8cb1d9cc222a19188cabcb1329f /src/codegen/llvm.zig
parenteb1b2f5c58888bfcab7e00378502f82594536aec (diff)
parent423a19fa60d2b0a11fc2fb43b12001320c2c53c5 (diff)
downloadzig-f591936480730a279d55a051f92806e19834faf7.tar.gz
zig-f591936480730a279d55a051f92806e19834faf7.zip
Merge pull request #12198 from Vexu/stage2
Sema: fix loading and storing of optional pointers represented as pointers
Diffstat (limited to 'src/codegen/llvm.zig')
-rw-r--r--src/codegen/llvm.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig
index 6ebbd2aaf8..6966d8b164 100644
--- a/src/codegen/llvm.zig
+++ b/src/codegen/llvm.zig
@@ -5697,7 +5697,8 @@ pub const FuncGen = struct {
const un_op = self.air.instructions.items(.data)[inst].un_op;
const operand = try self.resolveInst(un_op);
- const err_union_ty = self.air.typeOf(un_op);
+ const operand_ty = self.air.typeOf(un_op);
+ const err_union_ty = if (operand_is_ptr) operand_ty.childType() else operand_ty;
const payload_ty = err_union_ty.errorUnionPayload();
const err_set_ty = try self.dg.lowerType(Type.initTag(.anyerror));
const zero = err_set_ty.constNull();