<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/62968>62968</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [clang] Add a diagnostic flag to ensure "publically" accessible symbols are documented
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          NekkoDroid
      </td>
    </tr>
</table>

<pre>
    Currently there is the [`-Wdocumentation` flag](https://clang.llvm.org/docs/DiagnosticsReference.html#wdocumentation) that ensures documented symbols are valid doc comments. But there is currently no way to get warned if any accssible symbols are undocumented (other than running doxygen).

What exactly I mean with accessible symbols are:
- Types and their public and protected members
- Non-static functions defined in any non-anonymous namespace

Basically anything, that is accessible from one TU in a different TU.
(This may be also limited to symbols declared in headers since else they would need to be redeclared anyway)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U02Pm0gQ_TXNpWQLGszAgcNMLEt7yWE1Uc79UUBvmmqrq4nDv1813nE8WuUCiNKreu9VPcXsJkIcxOlNnM6FWtMc4vAVf_wI5xicLXSw2_BljREp-Q3SjBHBcf6ADGrLw3cbzLogJZVcINGWMHo1idNZyG5O6cqifhXyIuTFeEXT0fufyzHESciLDYaFvJydmihwcob_xhEjksHjnBYvZH373F32kGaVAInXiAwfVbTA26KDZ1AR4afyzuYimLDkOh_hbU2_-ZuHJApwUxukABMmuKlIaMGNoGgDZQyz0x4_NV_paaqQXchdMy2CuBI5msCGX9uEme5RlGdRvt6f33fqv5TJg_-CBRXBzaU5D8L_T8rG7bgDvG9XZFBkswQX4bpq78z-4xpDQpO5LLhojPyB-RrowNk3A-NKJvvHYHF0u0LaFVKgg6JA2xJWBlIL8lUZfCb9ptgZ5f2WAWl2NAn55b4Fx8_MxxgWCITw_m1vD9aN-zYTvH_78EF277NjWNQGGkF5DuDd4jL9FB7iLRqv4p3mjMpiZGBHBgE9Y_Zgg1tYvQXCO1IjRHzAFG03tQnZF3aobV_3qsChartT1XdNWRbzUFemtU1Vl63WaKqu1VVra93ol7LtjH0p3CBLWZcn-VI1TVmWx6avbN33pqpe2lG3RjQlLsr5x0EXjnnFoZV92xVeafS8B0tKwhvsRSFlzlkcMuag14lFU3rHiX93SS75PZF7XMTpDK_W7m5-pGQPWBZ9TwEIKe_3kLckpPzDOT2FpVijHz6Hc3JpXvXRhEXISybz3-twjeEfNEnIyy4hB3aX-G8AAAD__7qecpQ">