diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2022-05-24 19:23:33 +0200 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-05-24 15:34:52 -0700 |
| commit | 8c49420928b29271429cc09b5d5f1447a942f8d6 (patch) | |
| tree | a6dfcb22fb8d86ba4159ed12491a67cc065e9b61 /src/codegen.zig | |
| parent | c043d57cabdc4db20a55a9877ec607c81d15442f (diff) | |
| download | zig-8c49420928b29271429cc09b5d5f1447a942f8d6.tar.gz zig-8c49420928b29271429cc09b5d5f1447a942f8d6.zip | |
aarch64: update for new error union layout
Diffstat (limited to 'src/codegen.zig')
| -rw-r--r-- | src/codegen.zig | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index 4f400fa7fc..86f2613b5f 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -890,3 +890,19 @@ fn lowerDeclRef( return Result{ .appended = {} }; } + +pub fn errUnionPayloadOffset(ty: Type, target: std.Target) u64 { + const payload_ty = ty.errorUnionPayload(); + return if (Type.anyerror.abiAlignment(target) >= payload_ty.abiAlignment(target)) + Type.anyerror.abiSize(target) + else + 0; +} + +pub fn errUnionErrOffset(ty: Type, target: std.Target) u64 { + const payload_ty = ty.errorUnionPayload(); + return if (Type.anyerror.abiAlignment(target) >= payload_ty.abiAlignment(target)) + 0 + else + payload_ty.abiSize(target); +} |
