<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 26, 2019 at 3:59 PM Steve Downey <<a href="mailto:sdowney@gmail.com">sdowney@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">The compilation db is at least nominally JSON, so the strings are Unicode. The names of files and directories are not.</div></blockquote><div><br></div><div>I was under the impression that POSIX doesn't specify an encoding, but says the bytes 0x00 and 0x2f (/) are special. Thus, if we want to do unicode file names, it's pretty much utf-8 that fits, which if I'm not mistaken most OS'es are now using?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"> If you stick to ascii, you won't notice. But if you transcode a filename to unicode the filesystem might not recognize it anymore. <br><br>This might be a reasonable tradeoff, that you need to have your file names in a unicode encoding, but it's not the current state of the world. </div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 26, 2019 at 8:52 AM Manuel Klimek <<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 26, 2019 at 2:30 PM Steve Downey <<a href="mailto:sdowney@gmail.com" target="_blank">sdowney@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'm pretty sure compilation DB totally ignores this, and is easy to get invalid json in. Makefile syntax would care somewhat less. </blockquote><div><br></div></div></div><div dir="ltr"><div class="gmail_quote"><div>What specifically do you mean? The encoding or the path?</div></div></div><div dir="ltr"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br></div><div>I don't think it would be the worst thing for these tools to require Unicode without any normalization. You have to be able to fopen, and that means an exact match. I don't know the state of the world for Windows for utf-8 vs ucs2. Can we reliably get the file open? </div><div><br></div><div>I think the TR can place more requirements than the IS can on file names. <br><div dir="auto"><br><div class="gmail_quote"><div dir="ltr">On Tue, Feb 26, 2019, 04:50 Manuel Klimek <<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 26, 2019 at 4:01 AM Ben Boeckel <<a href="mailto:ben.boeckel@kitware.com" target="_blank">ben.boeckel@kitware.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Feb 25, 2019 at 09:52:34 +0100, Manuel Klimek wrote:<br>
> In the compilation database (<br>
> <a href="https://clang.llvm.org/docs/JSONCompilationDatabase.html" rel="noreferrer" target="_blank">https://clang.llvm.org/docs/JSONCompilationDatabase.html</a>) we specify the<br>
> build dir for each file.<br>
<br>
But that is (generally) output from the build system, not the compiler.<br>
The build system knows because…well, it does. The compiler is just<br>
invoked in a working directory and given no indication of where a "root"<br>
directory is (and I think it might be silly to pass it on the command<br>
line just to have it in this file, but maybe not).</blockquote><div><br></div><div>Can't the compiler put in the current work directory it's been called with? That's what I'd expect.</div></div></div>
_______________________________________________<br>
Tooling mailing list<br>
<a href="mailto:Tooling@isocpp.open-std.org" target="_blank">Tooling@isocpp.open-std.org</a><br>
<a href="http://www.open-std.org/mailman/listinfo/tooling" rel="noreferrer" target="_blank">http://www.open-std.org/mailman/listinfo/tooling</a><br>
</blockquote></div></div></div>
_______________________________________________<br>
Tooling mailing list<br>
<a href="mailto:Tooling@isocpp.open-std.org" target="_blank">Tooling@isocpp.open-std.org</a><br>
<a href="http://www.open-std.org/mailman/listinfo/tooling" rel="noreferrer" target="_blank">http://www.open-std.org/mailman/listinfo/tooling</a><br>
</blockquote></div></div>
_______________________________________________<br>
Tooling mailing list<br>
<a href="mailto:Tooling@isocpp.open-std.org" target="_blank">Tooling@isocpp.open-std.org</a><br>
<a href="http://www.open-std.org/mailman/listinfo/tooling" rel="noreferrer" target="_blank">http://www.open-std.org/mailman/listinfo/tooling</a><br>
</blockquote></div>
_______________________________________________<br>
Tooling mailing list<br>
<a href="mailto:Tooling@isocpp.open-std.org" target="_blank">Tooling@isocpp.open-std.org</a><br>
<a href="http://www.open-std.org/mailman/listinfo/tooling" rel="noreferrer" target="_blank">http://www.open-std.org/mailman/listinfo/tooling</a><br>
</blockquote></div></div>