authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-08-29 14:32:32-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-08-30 06:04:25-07:00
loge2fdaea0b351860da5f560cbe0ec8f056b8047fd
tree3ad4719e3b01bf12d1161bfea7a20d312419fb10
parent558bea2a76179fcc00779fdd326e5a866956fc9b

Revert "std.Io.Reader: work around llvm backend bug"

This reverts commit 530cc2c1111699d9d02ad9ebef94efa6b99f5205. The compiler bug has been fixed.

1 files changed, 2 insertions(+), 10 deletions(-)

lib/std/Io/Reader.zig+2-10
......@@ -1163,11 +1163,7 @@ pub inline fn takeStruct(r: *Reader, comptime T: type, endian: std.builtin.Endia
11631163 .@"struct" => |info| switch (info.layout) {
11641164 .auto => @compileError("ill-defined memory layout"),
11651165 .@"extern" => {
1166 // This code works around https://github.com/ziglang/zig/issues/25067
1167 // by avoiding a call to `peekStructPointer`.
1168 const struct_bytes = try r.takeArray(@sizeOf(T));
1169 var res: T = undefined;
1170 @memcpy(@as([]u8, @ptrCast(&res)), struct_bytes);
1166 var res = (try r.takeStructPointer(T)).*;
11711167 if (native_endian != endian) std.mem.byteSwapAllFields(T, &res);
11721168 return res;
11731169 },
......@@ -1192,11 +1188,7 @@ pub inline fn peekStruct(r: *Reader, comptime T: type, endian: std.builtin.Endia
11921188 .@"struct" => |info| switch (info.layout) {
11931189 .auto => @compileError("ill-defined memory layout"),
11941190 .@"extern" => {
1195 // This code works around https://github.com/ziglang/zig/issues/25067
1196 // by avoiding a call to `peekStructPointer`.
1197 const struct_bytes = try r.peekArray(@sizeOf(T));
1198 var res: T = undefined;
1199 @memcpy(@as([]u8, @ptrCast(&res)), struct_bytes);
1191 var res = (try r.peekStructPointer(T)).*;
12001192 if (native_endian != endian) std.mem.byteSwapAllFields(T, &res);
12011193 return res;
12021194 },