diff options
| author | LemonBoy <thatlemon@gmail.com> | 2019-12-20 13:58:19 +0100 |
|---|---|---|
| committer | LemonBoy <thatlemon@gmail.com> | 2020-01-08 20:03:03 +0100 |
| commit | 7fe13f4a86c04c25f95b237452b90e9ab3103d1f (patch) | |
| tree | d7da0013d27008904e6a98de42abab79d85a6e78 /lib | |
| parent | e134e6c994d6ecd76dc6ae1a24b8de29c4147eab (diff) | |
| download | zig-7fe13f4a86c04c25f95b237452b90e9ab3103d1f.tar.gz zig-7fe13f4a86c04c25f95b237452b90e9ab3103d1f.zip | |
Pointer alignment fixes for the stdlib
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/std/debug.zig | 4 | ||||
| -rw-r--r-- | lib/std/event/fs.zig | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/std/debug.zig b/lib/std/debug.zig index 94f81908da..dfdaca6d3f 100644 --- a/lib/std/debug.zig +++ b/lib/std/debug.zig @@ -1084,7 +1084,7 @@ fn openSelfDebugInfoMacOs(allocator: *mem.Allocator) !DebugInfo { std.macho.LC_SYMTAB => break @ptrCast(*std.macho.symtab_command, ptr), else => {}, } - ptr += lc.cmdsize; // TODO https://github.com/ziglang/zig/issues/1403 + ptr = @alignCast(@alignOf(std.macho.load_command), ptr + lc.cmdsize); } else { return error.MissingDebugInfo; }; @@ -2129,7 +2129,7 @@ fn getLineNumberInfoMacOs(di: *DebugInfo, symbol: MachoSymbol, target_address: u std.macho.LC_SEGMENT_64 => break @ptrCast(*const std.macho.segment_command_64, @alignCast(@alignOf(std.macho.segment_command_64), ptr)), else => {}, } - ptr += lc.cmdsize; // TODO https://github.com/ziglang/zig/issues/1403 + ptr = @alignCast(@alignOf(std.macho.load_command), ptr + lc.cmdsize); } else { return error.MissingDebugInfo; }; diff --git a/lib/std/event/fs.zig b/lib/std/event/fs.zig index 5986f07ad3..ce88ac4dc4 100644 --- a/lib/std/event/fs.zig +++ b/lib/std/event/fs.zig @@ -1263,7 +1263,7 @@ pub fn Watch(comptime V: type) type { var ptr = event_buf[0..].ptr; const end_ptr = ptr + event_buf.len; var ev: *os.linux.inotify_event = undefined; - while (@ptrToInt(ptr) < @ptrToInt(end_ptr)) : (ptr += @sizeOf(os.linux.inotify_event) + ev.len) { + while (@ptrToInt(ptr) < @ptrToInt(end_ptr)) { ev = @ptrCast(*os.linux.inotify_event, ptr); if (ev.mask & os.linux.IN_CLOSE_WRITE == os.linux.IN_CLOSE_WRITE) { const basename_ptr = ptr + @sizeOf(os.linux.inotify_event); @@ -1287,6 +1287,8 @@ pub fn Watch(comptime V: type) type { }); } } + + ptr = @alignCast(@alignOf(os.linux.inotify_event), ptr + @sizeOf(os.linux.inotify_event) + ev.len); } }, os.linux.EINTR => continue, |
