<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/112395>112395</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++] Document guidelines for dylib boundary symbols
</td>
</tr>
<tr>
<th>Labels</th>
<td>
documentation,
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
ldionne
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ldionne
</td>
</tr>
</table>
<pre>
Add a section to the "Contributing" documentation to explain a few things about ABI boundary, in particular:
1. don't use public names at the ABI boundary
2. suggest using attributes to help optimization (e.g. `gnu::pure` and `clang::noescape`)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxUUu2O4yAMfBryx9qIuGnS_MiP7laV7jEMOIQTgSjA3vWe_pS097ESEpLNjMczUErOBuZRnN8FojcuhsACUZxvFZU8x218FSsVzWO8GgMEiXV2MUCOkGcGgfgRQ96cKtkFKxDBRF0WDpn-vOOfqycXgGDiH5BnF2wCUrFkuL5_AxVLMLQ9BH6AC7DSlp0unjZxugp5E_La1GBiENhnKIlhLco7DYEWTkD50PGF6ABhDalYy2kHuWCB8lMmp13UzH6FuGa3uF9PpQIvXNsaRCdtKPvw03UtG4tOAgWz17WnYJ-dEDlpWveuwKEy48kMp4EqHpseBymHDptqHvVF9g3JqaNeTe2p09gb2RL3Uk2N6VTlRpTYNrI5Nx32sql5oOlyUbJnpElPrWglL-R87f3nUsfNVi6lwmPT4Gk4V54U-_QK8Yv1e5T4sUfrlBb4fpwj3W3cud5UsUm00ruU0z_27LI_PsV_sPMNbi9qsMUZ9i5wgiluYB7eqb_WQ3osKvpUlc2Pc85r2t3Cu8C7dXkuqtZxEXjfp72ut3WL31lngfdjsSTw_trtc8TfAQAA__-wMttp">