From a20f7a9dd613d31dbc9caf663a263be7fc9df6a5 Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Wed, 17 Jun 2026 20:02:28 -0700 Subject: [PATCH 1/2] mingw/Tokenizer: Delete unused function --- src/libs/mingw/Tokenizer.zig | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/libs/mingw/Tokenizer.zig b/src/libs/mingw/Tokenizer.zig index d3219a8fd6036fd205795380290fc4a9b8f8f4b2..07db83108fa9f168f99a56d496e439cc39416dcc 100644 --- a/src/libs/mingw/Tokenizer.zig +++ b/src/libs/mingw/Tokenizer.zig @@ -254,12 +254,6 @@ pub fn nextNoWS(self: *Tokenizer) Token { return tok; } -pub fn nextNoWSComments(self: *Tokenizer) Token { - var tok = self.next(); - while (tok.id == .whitespace) tok = self.next(); - return tok; -} - fn expectToken(expected: Token.Id, actual: Token) !void { try std.testing.expectEqual(expected, actual.id); } -- 2.54.0 From a851256a988f01e8fd9a6c84a9bac499e81f407d Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Wed, 17 Jun 2026 20:07:43 -0700 Subject: [PATCH 2/2] mingw: Only preprocess .def.in files The .def files don't have any preprocessor commands so running them through the preprocessor is useless work. --- src/libs/mingw.zig | 33 +++++++++++++++++++-------------- tools/check_mingw.zig | 2 ++ 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/libs/mingw.zig b/src/libs/mingw.zig index e22d09c93183dbc0648b046db593caef0efa81ab..2fad57ca1d9a04aee26b2e70d3988aaad9f9dd32 100644 --- a/src/libs/mingw.zig +++ b/src/libs/mingw.zig @@ -226,6 +226,8 @@ pub fn buildImportLib(comp: *Compilation, lib_name: []const u8) !void { }, else => |e| return e, }; + // Only .def.in files need preprocessing + const def_needs_preprocessing = mem.endsWith(u8, def_file_path, ".def.in"); const target = comp.getTarget(); @@ -292,22 +294,25 @@ pub fn buildImportLib(comp: *Compilation, lib_name: []const u8) !void { } const members = members: { - const input = pp: { - var aw: Io.Writer.Allocating = .init(gpa); - errdefer aw.deinit(); + const input = switch (def_needs_preprocessing) { + true => pp: { + var aw: Io.Writer.Allocating = .init(gpa); + errdefer aw.deinit(); - var pp_arena = std.heap.ArenaAllocator.init(gpa); - defer pp_arena.deinit(); - var pp: Preprocessor = .{ - .io = io, - .arena = pp_arena.allocator(), - .include_dir = include_dir, - .target = target, - }; - try pp.preprocess(def_file_path); - try pp.prettyPrintTokens(&aw.writer); + var pp_arena = std.heap.ArenaAllocator.init(gpa); + defer pp_arena.deinit(); + var pp: Preprocessor = .{ + .io = io, + .arena = pp_arena.allocator(), + .include_dir = include_dir, + .target = target, + }; + try pp.preprocess(def_file_path); + try pp.prettyPrintTokens(&aw.writer); - break :pp try aw.toOwnedSliceSentinel(0); + break :pp try aw.toOwnedSliceSentinel(0); + }, + false => try Io.Dir.cwd().readFileAllocOptions(io, def_file_path, gpa, .unlimited, .of(u8), 0), }; defer gpa.free(input); diff --git a/tools/check_mingw.zig b/tools/check_mingw.zig index dfeff33eae4b3c324cdc9b229905fa8b1ae9a3a2..c67b3f2599efaa9592cc238b866a44d2b3e1bf45 100644 --- a/tools/check_mingw.zig +++ b/tools/check_mingw.zig @@ -28,6 +28,8 @@ pub fn main(init: std.process.Init) !void { while (try walker.next(io)) |entry| { if (entry.kind != .file) continue; + // Only .def.in files need preprocessing + if (!std.mem.endsWith(u8, entry.basename, ".def.in")) continue; var fail = false; for (&targets) |*target| { -- 2.54.0