<div dir="ltr">The compilation db is at least nominally JSON, so the strings are Unicode. The names of files and directories are not. 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">klimek@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;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>