The patch should work for unicode filename, I just realized that it doesn't work for unicode directories. FileSystemStatCache calls ::stat for directories, and this doesn't work for utf8 input the same way ::open doesn't work. I tried to replace it with ::_wstat but this function has a different signature. I think we should take a different approach:<div>

<br></div><div>1. convert all command line input to utf8</div><div>2. rework FileSystemStatCache and MemoryBuffer to use llvm::sys::fs and never explicitly call ::open or ::stat</div><div><br></div><div>llvm::sys::fs already has a status function but I'm not sure if it can be used as ::stat replacement?</div>

<div>Can this module be used to open files, I couldn't find this anywhere?</div><div><br><div class="gmail_quote">2011/9/2 NAKAMURA Takumi <span dir="ltr"><<a href="mailto:geek4civic@gmail.com">geek4civic@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Nikola,<br>
<br>
Your patchset does not work;<br>
<div class="im"><br>
e>bin\clang.exe  -S なかむら\たくみ.c<br>
</div>error: error reading '邵コ・ェ邵コ荵昴・郢ァ蝎らクコ貅假ソ・邵コ・ソ.c'<br>
1 error generated.<br><br></blockquote></div></div>