<div dir="ltr">This seems like a bug worth filing.  I think the correct design is to have multiple strings point to the same FileEntry, which owns the canonical name, rather than pointing to the StringMap key used for the first path encountered.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Nov 16, 2013 at 1:38 AM, Yaron Keren <span dir="ltr"><<a href="mailto:yaron.keren@gmail.com" target="_blank">yaron.keren@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="rtl"><div dir="ltr">Hello,</div><div dir="ltr"><br></div><div dir="ltr">In Windows, files are usually case insensitive. The program may not be able to change this, see  </div>
<div dir="ltr"><a href="http://www.nicklowe.org/2012/02/understanding-case-sensitivity-in-windows-obcaseinsensitive-file_case_sensitive_search/" target="_blank">http://www.nicklowe.org/2012/02/understanding-case-sensitivity-in-windows-obcaseinsensitive-file_case_sensitive_search/</a><br>




</div><div dir="ltr"><br></div><div dir="ltr">Meanwhile, SeenFileEntries keys in FileManager are case-sensitive, so we may end up with duplicate mappings in SeenFileEntries for the same file, for example</div><div dir="ltr">


<br></div><div dir="ltr">Hello.h</div><div dir="ltr">HELLO.H</div><div dir="ltr">hello.H</div><div dir="ltr"><br></div><div dir="ltr">will all map to the same FileEntry.</div><div dir="ltr"><br></div><div dir="ltr">Furthermore, the file name in FE will be the searched-for filename rather than the real filename. For example, let's say you have hello.h on disk but you searched for HELLO.H. Since stat succeeds with HELLO.H this will be the filename linked from the FE and used in all clang's diagnostics. </div>


<div dir="ltr"><br></div><div dir="ltr">I'm not sure if this should be called a bug but it may not be what the user expects.</div><div dir="ltr"><br></div><div dir="ltr">Fixing this would require extra work for every file open on Windows, checking not only that the searched-for file exists but checking what its real file name is and use it instead. I'm not sure if it's worth the trouble either.</div>
<span class="HOEnZb"><font color="#888888">

<div dir="ltr"><br></div><div dir="ltr">Yaron<br></div><div dir="ltr"><br></div><div dir="ltr">
<br></div></font></span></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>