<div>I'm trying to figure out why a bunch of tests are failing on Windows, and the first thing I see is that the "not" program from utils/not reports that the path given to it is not executable, which is because of forward slashes in the Path object passed around, which nearly every Windows call that takes a path will choke on.  The input path appears to come from the cmake LLVM_BINARY_DIR variable through the lit.site.config file entry as part of getting the path to the clang executable.</div>

<div> </div>
<div>Before I start hacking on it, are you aware of this, and how do you want to handle it, or is someone working on it?</div>
<div> </div>
<div>I see that the PathV1 class is being deprecated, but it appears the Program class depends on it, and PathV2 stuff is way different.</div>
<div> </div>
<div>If it weren't deprecated, I would probably put in a function like "PlatformPath", which assumes the string the Path object stores is kind of a logical file name (as-is with the forward slashes), and the PlatformPath function is called by any platform function to get the platform version of it.</div>

<div> </div>
<div>-John<br clear="all"><br>-- <br>John Thompson<br><a href="mailto:John.Thompson.JTSoftware@gmail.com">John.Thompson.JTSoftware@gmail.com</a><br><br></div>