amccarth added a comment.

The previous discussions (that I participated in) were centered around the 
redirecting virtual filesystem, which creates paths in hybrid style and there 
is no "correct" way to make those native without taking breaking changes and 
making it less useful for writing platform-agnostic tests.  But it's not clear 
that's relevant here.

I'm also told that clang _generally_ tries to avoid canonicalization and 
instead treats file paths as mostly opaque strings that can be concatenated.  
Personally, I prefer file paths in the style that the native system prefers, so 
I'd like to see this go through, but I'm not sure how compatible this would be 
with other aspects of clang's file path handling.

Another possible issue is that `llvm::sys::path` and other functions try to map 
Windows filesystem concepts to Posix ones.  There are many cases where there 
isn't a perfect mapping.  For example:  Windows has a current working directory 
_per drive_, and so it can be hard to resolve paths like `D:foo.ext`, which are 
relative to something other than the "current working directory."  Details like 
this can come into play in the immediate vicinity of the code change, so I have 
some trepidation.

It looks like the code change is for everyone, but the new test is specific to 
mingw.  Is that the right place for the new test?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99580/new/

https://reviews.llvm.org/D99580

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to