mirror of
https://github.com/ziglang/zig.git
synced 2026-02-12 20:37:54 +00:00
Revert "std.Io.Reader: work around llvm backend bug"
This reverts commit 530cc2c1111699d9d02ad9ebef94efa6b99f5205. The compiler bug has been fixed.
This commit is contained in:
parent
558bea2a76
commit
e2fdaea0b3
@ -1163,11 +1163,7 @@ pub inline fn takeStruct(r: *Reader, comptime T: type, endian: std.builtin.Endia
|
||||
.@"struct" => |info| switch (info.layout) {
|
||||
.auto => @compileError("ill-defined memory layout"),
|
||||
.@"extern" => {
|
||||
// This code works around https://github.com/ziglang/zig/issues/25067
|
||||
// by avoiding a call to `peekStructPointer`.
|
||||
const struct_bytes = try r.takeArray(@sizeOf(T));
|
||||
var res: T = undefined;
|
||||
@memcpy(@as([]u8, @ptrCast(&res)), struct_bytes);
|
||||
var res = (try r.takeStructPointer(T)).*;
|
||||
if (native_endian != endian) std.mem.byteSwapAllFields(T, &res);
|
||||
return res;
|
||||
},
|
||||
@ -1192,11 +1188,7 @@ pub inline fn peekStruct(r: *Reader, comptime T: type, endian: std.builtin.Endia
|
||||
.@"struct" => |info| switch (info.layout) {
|
||||
.auto => @compileError("ill-defined memory layout"),
|
||||
.@"extern" => {
|
||||
// This code works around https://github.com/ziglang/zig/issues/25067
|
||||
// by avoiding a call to `peekStructPointer`.
|
||||
const struct_bytes = try r.peekArray(@sizeOf(T));
|
||||
var res: T = undefined;
|
||||
@memcpy(@as([]u8, @ptrCast(&res)), struct_bytes);
|
||||
var res = (try r.peekStructPointer(T)).*;
|
||||
if (native_endian != endian) std.mem.byteSwapAllFields(T, &res);
|
||||
return res;
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user