aboutsummaryrefslogtreecommitdiff
path: root/lib/std/elf.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-06-24 16:58:19 -0700
committerGitHub <noreply@github.com>2023-06-24 16:58:19 -0700
commit146b79af153bbd5dafda0ba12a040385c7fc58f8 (patch)
tree67e3db8b444d65c667e314770fc983a7fc8ba293 /lib/std/elf.zig
parent13853bef0df3c90633021850cc6d6abaeea03282 (diff)
parent21ac0beb436f49fe49c6982a872f2dc48e4bea5e (diff)
downloadzig-146b79af153bbd5dafda0ba12a040385c7fc58f8.tar.gz
zig-146b79af153bbd5dafda0ba12a040385c7fc58f8.zip
Merge pull request #16163 from mlugg/feat/builtins-infer-dest-ty
Infer destination type of cast builtins using result type
Diffstat (limited to 'lib/std/elf.zig')
-rw-r--r--lib/std/elf.zig30
1 files changed, 15 insertions, 15 deletions
diff --git a/lib/std/elf.zig b/lib/std/elf.zig
index 9a71f73e05..d464d7d12b 100644
--- a/lib/std/elf.zig
+++ b/lib/std/elf.zig
@@ -434,8 +434,8 @@ pub const Header = struct {
}
pub fn parse(hdr_buf: *align(@alignOf(Elf64_Ehdr)) const [@sizeOf(Elf64_Ehdr)]u8) !Header {
- const hdr32 = @ptrCast(*const Elf32_Ehdr, hdr_buf);
- const hdr64 = @ptrCast(*const Elf64_Ehdr, hdr_buf);
+ const hdr32 = @as(*const Elf32_Ehdr, @ptrCast(hdr_buf));
+ const hdr64 = @as(*const Elf64_Ehdr, @ptrCast(hdr_buf));
if (!mem.eql(u8, hdr32.e_ident[0..4], MAGIC)) return error.InvalidElfMagic;
if (hdr32.e_ident[EI_VERSION] != 1) return error.InvalidElfVersion;
@@ -454,7 +454,7 @@ pub const Header = struct {
const machine = if (need_bswap) blk: {
const value = @intFromEnum(hdr32.e_machine);
- break :blk @enumFromInt(EM, @byteSwap(value));
+ break :blk @as(EM, @enumFromInt(@byteSwap(value)));
} else hdr32.e_machine;
return @as(Header, .{
@@ -725,10 +725,10 @@ pub const Elf32_Sym = extern struct {
st_shndx: Elf32_Section,
pub inline fn st_type(self: @This()) u4 {
- return @truncate(u4, self.st_info);
+ return @as(u4, @truncate(self.st_info));
}
pub inline fn st_bind(self: @This()) u4 {
- return @truncate(u4, self.st_info >> 4);
+ return @as(u4, @truncate(self.st_info >> 4));
}
};
pub const Elf64_Sym = extern struct {
@@ -740,10 +740,10 @@ pub const Elf64_Sym = extern struct {
st_size: Elf64_Xword,
pub inline fn st_type(self: @This()) u4 {
- return @truncate(u4, self.st_info);
+ return @as(u4, @truncate(self.st_info));
}
pub inline fn st_bind(self: @This()) u4 {
- return @truncate(u4, self.st_info >> 4);
+ return @as(u4, @truncate(self.st_info >> 4));
}
};
pub const Elf32_Syminfo = extern struct {
@@ -759,10 +759,10 @@ pub const Elf32_Rel = extern struct {
r_info: Elf32_Word,
pub inline fn r_sym(self: @This()) u24 {
- return @truncate(u24, self.r_info >> 8);
+ return @as(u24, @truncate(self.r_info >> 8));
}
pub inline fn r_type(self: @This()) u8 {
- return @truncate(u8, self.r_info);
+ return @as(u8, @truncate(self.r_info));
}
};
pub const Elf64_Rel = extern struct {
@@ -770,10 +770,10 @@ pub const Elf64_Rel = extern struct {
r_info: Elf64_Xword,
pub inline fn r_sym(self: @This()) u32 {
- return @truncate(u32, self.r_info >> 32);
+ return @as(u32, @truncate(self.r_info >> 32));
}
pub inline fn r_type(self: @This()) u32 {
- return @truncate(u32, self.r_info);
+ return @as(u32, @truncate(self.r_info));
}
};
pub const Elf32_Rela = extern struct {
@@ -782,10 +782,10 @@ pub const Elf32_Rela = extern struct {
r_addend: Elf32_Sword,
pub inline fn r_sym(self: @This()) u24 {
- return @truncate(u24, self.r_info >> 8);
+ return @as(u24, @truncate(self.r_info >> 8));
}
pub inline fn r_type(self: @This()) u8 {
- return @truncate(u8, self.r_info);
+ return @as(u8, @truncate(self.r_info));
}
};
pub const Elf64_Rela = extern struct {
@@ -794,10 +794,10 @@ pub const Elf64_Rela = extern struct {
r_addend: Elf64_Sxword,
pub inline fn r_sym(self: @This()) u32 {
- return @truncate(u32, self.r_info >> 32);
+ return @as(u32, @truncate(self.r_info >> 32));
}
pub inline fn r_type(self: @This()) u32 {
- return @truncate(u32, self.r_info);
+ return @as(u32, @truncate(self.r_info));
}
};
pub const Elf32_Dyn = extern struct {