<div dir="ltr"><div class="gmail_extra"><div>On Tue, Mar 12, 2013 at 2:33 PM, Robinson, Paul <span dir="ltr"><<a href="mailto:Paul.Robinson@am.sony.com" target="_blank">Paul.Robinson@am.sony.com</a>></span> wrote:<br>
</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">This is basically the Windows version of r176226; it avoids a<br>

hang when certain issues arise with an output filename.<br>
We found this because Clang would hang because the output file<br>
pathname exceeded the Windows limit of 260 characters.<br>
Yes, I know the context around the fix is about creating the<br>
parent directory; but that's the loop where the hang occurs.<br>
<br>
Murphy consequence #1:  I could not find any LLVM tool that used<br>
unique_file(), only Clang uses this AFAICT.  So the test is written<br>
for Clang, which means it has to go in the Clang suite instead of<br>
the LLVM suite.<br>
<br>
Murphy consequence #2:  The problem occurs only on Windows, but the<br>
LIT test system apparently has no way to describe a host-specific<br>
test.  Linux and others have different limits on output file paths,<br>
so you cannot expect the same behavior across all hosts.  I was able<br>
to craft a test that did exercise the problem on Windows without<br>
bumping into different problems on Linux, but the only way I could<br>
get it to be cross-platform is to mark it XFAIL: win32, with a big<br>
comment explaining why.<br>
<br>
I am resigned to the perverseness of the test.  I'm willing to have<br>
the test accepted on condition that I file a bug against the test<br>
system for being unable to constrain a test based on the host platform.<br>
I'm also willing to have the test rejected as too stupid to live.<br>
(But don't ask me to implement the \\?\ stuff.)<br>
<br>
Thanks,<br>
--paulr<br></blockquote><div><br></div><div style>Both patches look good. This would actually still be a problem with \\?\.</div><div><br></div><div>- Michael Spencer<br></div><div> </div></div></div></div>