The test now moves the header files between the pch creation and its use.
This change caused failures under Windows:
- The -isysroot path matching was failing when given variations of casing or separators (/ vs \)
- clang -verify checks "// expected-[note/warning/...]@[file]:[line] ..." would fail when file is an absolute path, since the : character was interpreted as the delimiter between [file] and [line].
I'm trying to imagine a use case where the user might be validating diagnostics generated with a Windows style virtual filesystem, but I can't think of how that could happen.
In any case, I think we should drop the ifdef, and just do the special case on all platforms, especially if you tighten it up with the slash check.