diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2023-03-26 17:31:42 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-26 17:31:42 +0200 |
| commit | 32591c1d99297b370e34674dc135705c3849968d (patch) | |
| tree | d8fde435747702cd2d2a765b3ca29f3c351c6490 /src/codegen.zig | |
| parent | 4a5628e7306a242ce0d2f14f09eaf17ad4ae87b2 (diff) | |
| parent | 65f77878b4d37a2e179c90f5f0b2515d0901a43e (diff) | |
| download | zig-32591c1d99297b370e34674dc135705c3849968d.tar.gz zig-32591c1d99297b370e34674dc135705c3849968d.zip | |
Merge pull request #15076 from jacobly0/x86_64-backend
x86_64: implement things
Diffstat (limited to 'src/codegen.zig')
| -rw-r--r-- | src/codegen.zig | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index c48200e845..a99ff18dfd 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -1063,13 +1063,12 @@ pub fn genTypedValue( }, .Optional => { if (typed_value.ty.isPtrLikeOptional()) { - if (typed_value.val.isNull()) - return GenResult.mcv(.{ .immediate = 0 }); + if (typed_value.val.tag() == .null_value) return GenResult.mcv(.{ .immediate = 0 }); var buf: Type.Payload.ElemType = undefined; return genTypedValue(bin_file, src_loc, .{ .ty = typed_value.ty.optionalChild(&buf), - .val = typed_value.val, + .val = if (typed_value.val.castTag(.opt_payload)) |pl| pl.data else typed_value.val, }, owner_decl_index); } else if (typed_value.ty.abiSize(target) == 1) { return GenResult.mcv(.{ .immediate = @boolToInt(!typed_value.val.isNull()) }); |
