aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormike <mike@windows10>2022-11-13 13:52:55 -0500
committerAndrew Kelley <andrew@ziglang.org>2022-11-15 22:12:52 -0500
commita93fa29d8f808da58371a58f0a7b8ecd462584b3 (patch)
tree9d3b88a7413c5e85042d6df6f4dbbfc8ee5aa1e4
parent024bac7f531e75e2428a20aac1a88a883eaa7e8e (diff)
downloadzig-a93fa29d8f808da58371a58f0a7b8ecd462584b3.tar.gz
zig-a93fa29d8f808da58371a58f0a7b8ecd462584b3.zip
zig-cache: support windows drive + fwd-slash paths
closes #13539
-rw-r--r--src/DepTokenizer.zig14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/DepTokenizer.zig b/src/DepTokenizer.zig
index 09712baa99..867bfc1aa3 100644
--- a/src/DepTokenizer.zig
+++ b/src/DepTokenizer.zig
@@ -82,7 +82,7 @@ pub fn next(self: *Tokenizer) ?Token {
// silently ignore null target
self.state = .lhs;
},
- '\\' => {
+ '/', '\\' => {
self.state = .target_colon_reverse_solidus;
self.index += 1;
},
@@ -706,7 +706,7 @@ test "windows mixed prereqs" {
);
}
-test "funky targets" {
+test "windows funky targets" {
try depTokenizer(
\\C:\Users\anon\foo.o:
\\C:\Users\anon\foo\ .o:
@@ -728,6 +728,16 @@ test "funky targets" {
);
}
+test "windows drive and forward slashes" {
+ try depTokenizer(
+ \\C:/msys64/what/zig-cache\tmp\48ac4d78dd531abd-cxa_thread_atexit.obj: \
+ \\ C:/msys64/opt/zig3/lib/zig/libc/mingw/crt/cxa_thread_atexit.c
+ ,
+ \\target = {C:/msys64/what/zig-cache\tmp\48ac4d78dd531abd-cxa_thread_atexit.obj}
+ \\prereq = {C:/msys64/opt/zig3/lib/zig/libc/mingw/crt/cxa_thread_atexit.c}
+ );
+}
+
test "error incomplete escape - reverse_solidus" {
try depTokenizer("\\",
\\ERROR: illegal char '\' at position 0: incomplete escape