[llvm] Normalize file path to fix problems with different folder separators. (PR #215225)
James Henderson via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 27 01:57:27 PDT 2026
================
@@ -8,12 +8,10 @@
; RUN: llc -o %t.o -filetype=obj -mtriple=x86_64-pc-linux %t.ll
; RUN: llvm-objdump --prefix 'myprefix/\' --source %t.o 2>&1 | FileCheck %s -DFILE=%t.o -DPREFIX='myprefix' -DSEP=%{fs-sep}
-;; When --prefix is specified and the file path is absolute, sys::path::append
-;; is used to add the file path to the prefix. On Windows, if the file path
-;; starts with a slash, sys::path::append currently does a straight
-;; concatenation, resulting in the first slash being preserved as-is ('/').
-;; The second slash (after 'Inputs') is generated by llc using
-;; sys::path::append to join the directory and filename, which uses the
-;; preferred path separator (controlled by LLVM_WINDOWS_PREFER_FORWARD_SLASH).
-; CHECK: warning: '[[FILE]]': failed to find source [[PREFIX]]/Inputs[[SEP]]source-interleave-x86_64.c
+;; The compilation directory '/Inputs' is joined to the file name using the
+;; preferred separator, producing a mixed-style path. It is normalized before
+;; --prefix is applied, so all separators after the prefix are the host's preferred value.
----------------
jh7370 wrote:
I might easily have missed it, but is there still a test case that shows that separators in the middle of the --prefix value are preserved as-is? E.g. `--prefix=my/pre\fix` leads to `--prefix=my/pre\fix[[SEP]]Inputs[[SEP]]source-interleave-x86_64.c`?
https://github.com/llvm/llvm-project/pull/215225
More information about the llvm-commits
mailing list