<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJytVEtvnDAQ_jXmYgWBeYg9cEgTRW0PzSGHnv0YwK3B1Dab7L_vDJtVs1GVSyshYzPj7zFjo7w59Z_BOc_EHSvuWXH7fbIOuDQmQIx2GbmNcQPOmk9MVF1bH1hzz0Q3pbRGVt0y8YDPaNO0qVz7GRez1cFHPyScH6P2Bm70uibvXcQvOxxNdixx4IMPnLXF-8y24PCSYInWLyiOPwNffLIaDE-TTDgAv3MSBSLrap1MmMiNTFLJCIQ6Y1ZcQdvB6nPURi5nZcfNbzE_231rmiB_bT5B5BC1XMk9qaPvqIcJgVSzXAzOSN9gwRkC1Q5kcKcLGxgSjLsCUHTxPG56eqflGliGcZthSfEtdM7P6niZ86fJb0gGEoEuydwuO4QMQZ64grNqLBBhxwnbymUkBR8aYNXDK43I-SNt3JmugANIw0kmwdFm9OfsT7Q3cJuIIpIeYwPohIVInvjgBfSReC8M5_Eh-Jk_Uw-_8Eke97OFNU9Ytv96tKp9TY5R201ZlIUomvJAh-61P1wsBpXDHEmxXFd3oojaErl63uuA7hWkBIFSdrm08bqX8LI6qy05N16fe5MmG_PM9JU5VAeZyS1NPvQhKZ9twfUfmHTueHndrMH_wJK-NddUZV1lU48ewYBQ7VAMByWFKWrViFZ1TdUOdaUzJxW42NPNbe6zf6e0vSiEKMqyFKLsiiaXZd2VbdsNtVFdVwlWFzBL63LCyX0Ys9DvkGobIwadjSn-CUr8v4wLwEVhwgJC__Xp8dvfrzTV_OoKZ7vAflf3GyUXk5w>53143</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
JSON compilation database spec is ambiguous
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
rtbo
</td>
</tr>
</table>
<pre>
Hello,
While addressing issue [#8649](https://github.com/microsoft/vscode-cpptools/issues/8649) for `vscode-cpptools` extension, we noticed that the Clang compilation database format specification is ambiguous.
While the quotes escaping for the `"command"` field is clearly specified, there is no such specification for the `"arguments"` field.
1. Should each argument in the array be escaped for shell as is the `"command"` field?
2. Or should the array be read "as is", like if it is sent directly to `execv`?
>From what I have [tested](https://github.com/microsoft/vscode-cpptools/issues/8649#issuecomment-1010205199), the 2nd seems to apply, but it would be better to have the specification explicitly document this.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVM1unDAQfhq4WEHGwJY9cEgTRW0PzSGHngd7WNwaTG2zyb59Z9ismo2qnCohY5jx9zMz0Htz6r6gcz5Td5m8z-Ttj9E6FGBMwBjtfBA2xhVF1nzOVNXu6n3W3GeqHVNaYlbdZuqBroNN49oX2k_0MFkdfPRDov0xam_wRi9L8t5FerPB8WbDUnsx-CCynXyfuZMCXxLO0fqZxIlnFLNPVqMRaYREC4o7BySQWBfrIFGiMJCgh4iMOlFWXFDbwepz1EYBU28Pq19jcbb71jRD_l59wigwaljYPavj96QnU4qoJpgN7VjfYNEZBtUOIbjThQ0NC6ZTATk6exFXPb7Tcg0M4bBOOKf4FroQZ3WiLMTT6FciQyCgS7Kw8wYBIcBJ9HhWTQVi7DhSWwVEVvChgax6eKVRhXjkgxvTFXBAMIJlMhwfJn_O_iJ7g7CJKSLrMTagTlSI5JkPX1AfmffCcF4fgp_EM_fwqxjhuM0W1TxR2f7raFXbMzsmbTelLKWSTbnnoXvtj1CzIeU4RVYMy-JOHOnXxK6etzqQ-x5TwsApm1w-eN1LfFmc1ZadG6_PvUmjjUVuusrsqz3kiaLYfXt6_P7veWXAq_nM1-C6D0rh3PFyu1mC_0mFf1uCpirrKh-7ujc7kAr0p2Y_1HXVVm25lxJlU1c96F3uoEcXO_6-m_vcdkoqJcuyVKpsZVNAWbflbtcOtenbtlJZLXEC6womLnw45KHbNPTrIVLQ2Zji3yDQP-QwI17wYU2jD11Ivc83rd0m9A9q8H2Q">