| author | |
| committer | |
| log | 8023f3dcebff06cbf3563bdd09b07462ed43509f |
| tree | db8a18f4680311f879f93ee25fbf32adb438691c |
| parent | e4181972470c29f83480fdd6d5a465e1f8d14d7b |
perhaps these APIs have the defaults backwards, eh?6 files changed, 35 insertions(+), 9 deletions(-)
lib/std/Io/Reader.zig+4| ... | @@ -877,6 +877,8 @@ pub fn peekDelimiterExclusive(r: *Reader, delimiter: u8) DelimiterError![]u8 { | ... | @@ -877,6 +877,8 @@ pub fn peekDelimiterExclusive(r: *Reader, delimiter: u8) DelimiterError![]u8 { |
| 877 | /// Appends to `w` contents by reading from the stream until `delimiter` is | 877 | /// Appends to `w` contents by reading from the stream until `delimiter` is |
| 878 | /// found. Does not write the delimiter itself. | 878 | /// found. Does not write the delimiter itself. |
| 879 | /// | 879 | /// |
| 880 | /// Does not discard the delimiter from the `Reader`. | ||
| 881 | /// | ||
| 880 | /// Returns number of bytes streamed, which may be zero, or error.EndOfStream | 882 | /// Returns number of bytes streamed, which may be zero, or error.EndOfStream |
| 881 | /// if the delimiter was not found. | 883 | /// if the delimiter was not found. |
| 882 | /// | 884 | /// |
| ... | @@ -930,6 +932,8 @@ pub const StreamDelimiterLimitError = error{ | ... | @@ -930,6 +932,8 @@ pub const StreamDelimiterLimitError = error{ |
| 930 | /// Appends to `w` contents by reading from the stream until `delimiter` is found. | 932 | /// Appends to `w` contents by reading from the stream until `delimiter` is found. |
| 931 | /// Does not write the delimiter itself. | 933 | /// Does not write the delimiter itself. |
| 932 | /// | 934 | /// |
| 935 | /// Does not discard the delimiter from the `Reader`. | ||
| 936 | /// | ||
| 933 | /// Returns number of bytes streamed, which may be zero. End of stream can be | 937 | /// Returns number of bytes streamed, which may be zero. End of stream can be |
| 934 | /// detected by checking if the next byte in the stream is the delimiter. | 938 | /// detected by checking if the next byte in the stream is the delimiter. |
| 935 | /// | 939 | /// |
lib/std/debug/Pdb.zig+7| ... | @@ -2,6 +2,7 @@ const std = @import("../std.zig"); | ... | @@ -2,6 +2,7 @@ const std = @import("../std.zig"); |
| 2 | const File = std.fs.File; | 2 | const File = std.fs.File; |
| 3 | const Allocator = std.mem.Allocator; | 3 | const Allocator = std.mem.Allocator; |
| 4 | const pdb = std.pdb; | 4 | const pdb = std.pdb; |
| 5 | const assert = std.debug.assert; | ||
| 5 | 6 | ||
| 6 | const Pdb = @This(); | 7 | const Pdb = @This(); |
| 7 | 8 | ||
| ... | @@ -94,11 +95,15 @@ pub fn parseDbiStream(self: *Pdb) !void { | ... | @@ -94,11 +95,15 @@ pub fn parseDbiStream(self: *Pdb) !void { |
| 94 | var module_name: std.Io.Writer.Allocating = .init(gpa); | 95 | var module_name: std.Io.Writer.Allocating = .init(gpa); |
| 95 | defer module_name.deinit(); | 96 | defer module_name.deinit(); |
| 96 | this_record_len += try reader.streamDelimiterLimit(&module_name.writer, 0, .limited(1024)); | 97 | this_record_len += try reader.streamDelimiterLimit(&module_name.writer, 0, .limited(1024)); |
| 98 | assert(reader.buffered()[0] == 0); // TODO change streamDelimiterLimit API | ||
| 99 | reader.toss(1); | ||
| 97 | this_record_len += 1; | 100 | this_record_len += 1; |
| 98 | 101 | ||
| 99 | var obj_file_name: std.Io.Writer.Allocating = .init(gpa); | 102 | var obj_file_name: std.Io.Writer.Allocating = .init(gpa); |
| 100 | defer obj_file_name.deinit(); | 103 | defer obj_file_name.deinit(); |
| 101 | this_record_len += try reader.streamDelimiterLimit(&obj_file_name.writer, 0, .limited(1024)); | 104 | this_record_len += try reader.streamDelimiterLimit(&obj_file_name.writer, 0, .limited(1024)); |
| 105 | assert(reader.buffered()[0] == 0); // TODO change streamDelimiterLimit API | ||
| 106 | reader.toss(1); | ||
| 102 | this_record_len += 1; | 107 | this_record_len += 1; |
| 103 | 108 | ||
| 104 | if (this_record_len % 4 != 0) { | 109 | if (this_record_len % 4 != 0) { |
| ... | @@ -303,6 +308,8 @@ pub fn getLineNumberInfo(self: *Pdb, module: *Module, address: u64) !std.debug.S | ... | @@ -303,6 +308,8 @@ pub fn getLineNumberInfo(self: *Pdb, module: *Module, address: u64) !std.debug.S |
| 303 | var source_file_name: std.Io.Writer.Allocating = .init(gpa); | 308 | var source_file_name: std.Io.Writer.Allocating = .init(gpa); |
| 304 | defer source_file_name.deinit(); | 309 | defer source_file_name.deinit(); |
| 305 | _ = try adapted_reader.new_interface.streamDelimiterLimit(&source_file_name.writer, 0, .limited(1024)); | 310 | _ = try adapted_reader.new_interface.streamDelimiterLimit(&source_file_name.writer, 0, .limited(1024)); |
| 311 | assert(adapted_reader.new_interface.buffered()[0] == 0); // TODO change streamDelimiterLimit API | ||
| 312 | adapted_reader.new_interface.toss(1); | ||
| 306 | break :s try source_file_name.toOwnedSlice(); | 313 | break :s try source_file_name.toOwnedSlice(); |
| 307 | }; | 314 | }; |
| 308 | errdefer gpa.free(source_file_name); | 315 | errdefer gpa.free(source_file_name); |
src/Compilation.zig+10-9| ... | @@ -5893,15 +5893,16 @@ fn buildGlibcCrtFile(comp: *Compilation, crt_file: glibc.CrtFile, prog_node: std | ... | @@ -5893,15 +5893,16 @@ fn buildGlibcCrtFile(comp: *Compilation, crt_file: glibc.CrtFile, prog_node: std |
| 5893 | 5893 | ||
| 5894 | fn buildGlibcSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) void { | 5894 | fn buildGlibcSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) void { |
| 5895 | defer comp.link_task_queue.finishPrelinkItem(comp); | 5895 | defer comp.link_task_queue.finishPrelinkItem(comp); |
| 5896 | if (glibc.buildSharedObjects(comp, prog_node)) |_| { | 5896 | glibc.buildSharedObjects(comp, prog_node) catch unreachable; |
| 5897 | // The job should no longer be queued up since it succeeded. | 5897 | //if (glibc.buildSharedObjects(comp, prog_node)) |_| { |
| 5898 | comp.queued_jobs.glibc_shared_objects = false; | 5898 | // // The job should no longer be queued up since it succeeded. |
| 5899 | } else |err| switch (err) { | 5899 | // comp.queued_jobs.glibc_shared_objects = false; |
| 5900 | error.AlreadyReported => return, | 5900 | //} else |err| switch (err) { |
| 5901 | else => comp.lockAndSetMiscFailure(.glibc_shared_objects, "unable to build glibc shared objects: {s}", .{ | 5901 | // error.AlreadyReported => return, |
| 5902 | @errorName(err), | 5902 | // else => comp.lockAndSetMiscFailure(.glibc_shared_objects, "unable to build glibc shared objects: {s}", .{ |
| 5903 | }), | 5903 | // @errorName(err), |
| 5904 | } | 5904 | // }), |
| 5905 | //} | ||
| 5905 | } | 5906 | } |
| 5906 | 5907 | ||
| 5907 | fn buildFreeBSDCrtFile(comp: *Compilation, crt_file: freebsd.CrtFile, prog_node: std.Progress.Node) void { | 5908 | fn buildFreeBSDCrtFile(comp: *Compilation, crt_file: freebsd.CrtFile, prog_node: std.Progress.Node) void { |
src/libs/freebsd.zig+6| ... | @@ -548,6 +548,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye | ... | @@ -548,6 +548,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye |
| 548 | const sym_name = opt_symbol_name orelse n: { | 548 | const sym_name = opt_symbol_name orelse n: { |
| 549 | sym_name_buf.clearRetainingCapacity(); | 549 | sym_name_buf.clearRetainingCapacity(); |
| 550 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); | 550 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); |
| 551 | assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API | ||
| 552 | inc_reader.toss(1); | ||
| 551 | 553 | ||
| 552 | opt_symbol_name = sym_name_buf.written(); | 554 | opt_symbol_name = sym_name_buf.written(); |
| 553 | versions.unsetAll(); | 555 | versions.unsetAll(); |
| ... | @@ -694,6 +696,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye | ... | @@ -694,6 +696,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye |
| 694 | const sym_name = opt_symbol_name orelse n: { | 696 | const sym_name = opt_symbol_name orelse n: { |
| 695 | sym_name_buf.clearRetainingCapacity(); | 697 | sym_name_buf.clearRetainingCapacity(); |
| 696 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); | 698 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); |
| 699 | assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API | ||
| 700 | inc_reader.toss(1); | ||
| 697 | 701 | ||
| 698 | opt_symbol_name = sym_name_buf.written(); | 702 | opt_symbol_name = sym_name_buf.written(); |
| 699 | versions.unsetAll(); | 703 | versions.unsetAll(); |
| ... | @@ -830,6 +834,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye | ... | @@ -830,6 +834,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye |
| 830 | const sym_name = opt_symbol_name orelse n: { | 834 | const sym_name = opt_symbol_name orelse n: { |
| 831 | sym_name_buf.clearRetainingCapacity(); | 835 | sym_name_buf.clearRetainingCapacity(); |
| 832 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); | 836 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); |
| 837 | assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API | ||
| 838 | inc_reader.toss(1); | ||
| 833 | 839 | ||
| 834 | opt_symbol_name = sym_name_buf.written(); | 840 | opt_symbol_name = sym_name_buf.written(); |
| 835 | versions.unsetAll(); | 841 | versions.unsetAll(); |
src/libs/glibc.zig+4| ... | @@ -802,6 +802,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye | ... | @@ -802,6 +802,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye |
| 802 | const sym_name = opt_symbol_name orelse n: { | 802 | const sym_name = opt_symbol_name orelse n: { |
| 803 | sym_name_buf.clearRetainingCapacity(); | 803 | sym_name_buf.clearRetainingCapacity(); |
| 804 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); | 804 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); |
| 805 | assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API | ||
| 806 | inc_reader.toss(1); | ||
| 805 | 807 | ||
| 806 | opt_symbol_name = sym_name_buf.written(); | 808 | opt_symbol_name = sym_name_buf.written(); |
| 807 | versions_buffer = undefined; | 809 | versions_buffer = undefined; |
| ... | @@ -974,6 +976,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye | ... | @@ -974,6 +976,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye |
| 974 | const sym_name = opt_symbol_name orelse n: { | 976 | const sym_name = opt_symbol_name orelse n: { |
| 975 | sym_name_buf.clearRetainingCapacity(); | 977 | sym_name_buf.clearRetainingCapacity(); |
| 976 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); | 978 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); |
| 979 | assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API | ||
| 980 | inc_reader.toss(1); | ||
| 977 | 981 | ||
| 978 | opt_symbol_name = sym_name_buf.written(); | 982 | opt_symbol_name = sym_name_buf.written(); |
| 979 | versions_buffer = undefined; | 983 | versions_buffer = undefined; |
src/libs/netbsd.zig+4| ... | @@ -477,6 +477,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye | ... | @@ -477,6 +477,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye |
| 477 | const sym_name = opt_symbol_name orelse n: { | 477 | const sym_name = opt_symbol_name orelse n: { |
| 478 | sym_name_buf.clearRetainingCapacity(); | 478 | sym_name_buf.clearRetainingCapacity(); |
| 479 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); | 479 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); |
| 480 | assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API | ||
| 481 | inc_reader.toss(1); | ||
| 480 | 482 | ||
| 481 | opt_symbol_name = sym_name_buf.written(); | 483 | opt_symbol_name = sym_name_buf.written(); |
| 482 | chosen_ver_index = 255; | 484 | chosen_ver_index = 255; |
| ... | @@ -552,6 +554,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye | ... | @@ -552,6 +554,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye |
| 552 | const sym_name = opt_symbol_name orelse n: { | 554 | const sym_name = opt_symbol_name orelse n: { |
| 553 | sym_name_buf.clearRetainingCapacity(); | 555 | sym_name_buf.clearRetainingCapacity(); |
| 554 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); | 556 | _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); |
| 557 | assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API | ||
| 558 | inc_reader.toss(1); | ||
| 555 | 559 | ||
| 556 | opt_symbol_name = sym_name_buf.written(); | 560 | opt_symbol_name = sym_name_buf.written(); |
| 557 | chosen_ver_index = 255; | 561 | chosen_ver_index = 255; |