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

    <tr>
        <th>Summary</th>
        <td>
            Clang's HTML diagnostic reference should include a tree similar to `diagtool tree`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang,
            clang:diagnostics
      </td>
    </tr>

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

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

<pre>
    I was not aware of `diagtool tree`, but it produces very useful output (it's colored in the terminal):
```
GREEN = enabled by default
YELLOW = disabled by default
RED = unimplemented (accepted for GCC compatibility)

-W
  -Wextra
    -Wdeprecated-copy
 -Wdeprecated-copy-with-user-provided-copy
 -Wmissing-field-initializers
 -Wmissing-designated-field-initializers
    -Wignored-qualifiers
 -Wignored-reference-qualifiers
    -Winitializer-overrides
 -Wsemicolon-before-method-body
    -Wmissing-method-return-type
 -Wsign-compare
    -Wunused-parameter
 -Wunused-but-set-parameter
    -Wnull-pointer-arithmetic
 -Wgnu-null-pointer-arithmetic
    -Wnull-pointer-subtraction
 -Wempty-init-stmt
    -Wstring-concatenation
    -Wfuse-ld-path
 -Wcast-function-type-mismatch
```

This is pretty handy, and I think it would make a great addition to the [diagnostic reference documentation](https://clang.llvm.org/docs/DiagnosticsReference.html), which is highly searchable and discoverable. Thanks @nickdesaulniers for mentioning `diagtool`, I was not aware of it, but it's apparently been around since 2011.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VU1v4zYQ_TX0ZUBDoqM4PuiwG8fbBbYtsFgg6JEiR9I0FKmSw6Tury8oO47bpAUMyeK8eZqPNyOdEg0esRXNZ9HsVzrzGGIb_dOqC_bYfoUXncAHBv2iI0LoQdxWlvTAITjgiChuK6HuocsMxDDHYLPBBM8Yj5AT9tlByDxnBqHuiIXaJjDBhYgWyAOPCIxxIq-dUDux-SSqvag-FdrTb3n88v3h4RcQmz2g151DC90RLPY6Oz4hfnv49u3XxwViKX2M-f6wXwDZ0zQ7nNAz2hKXNgbn8r8PEb7c34MJ06yZOnLExxLXKajlKh9PdwD5iH9y1K-P5cDiHNFoRitNmI9n07tz-UI8ypwwyjmGZ7L_xk-UEvlB9oTOSvLEpB39hTG9g1gsTVyo_xO9xEaDL2WXf2TtqKdrrldTxB4jeoPvQSeKN2oZnjFGsvjGknCi0lsvO-xDRDkhj8HKoqVrltfIz-aInKOXfJzxjYoGL5cuRLx2zT4ntHLWUU_IGC8OZ0OXWSbkd4DF2Wfn5BzIM0apI_E4IZO5cAw-y__HvKdJueOoDVPwFx6cZj4ubZCJJ772TRxL5ib4Igavr_wWe58TSlcS5PHCZ3Ri2We_vGWpk5woTZrN-OG0nK4_RkpACeaIzEcYtbfHMqraW_gKPJJ_KiP7ErKzMOknBA1DRM2graXyKuCwDKhoPpeZ9yExGbhoBGwwuQzRKYtmL9TdyDynMsXqINTBOO2HtXPP0zrEQaiDDSYJddhf2NL3V7b1yNOyAtQ9vIxkxhL7SMPojpBQRzOWoV6it5RMUV85WMOPUfunBOKm8mSeLCadnS_CXaa5xEfBkx-uV9d5a32w38qKel1ny7LSc9GgZ3eEDtGDjiF7C4lKBVRV1-uVbTd2t9npFbb1dlPdbXbVrlqNbVPp5qaudVM1m75Hg9W2vr3TZnu7223uKrOiVlXqpq6rRlWbu7pa263ptlXdqG3X7XaI4qbCSZO71HBFKWVs67qpbtXK6Q5dWra3UkuxhVJC3V-eNp_eGpeKrdmvYlvIZJeHJG4qR4nTGz0TO2zvT1TbBD_9-PkbfNj8NC7CIW9ctkU75WsAiSZyOhblfPClWOXo2n9KZCAec7c2YRLqUMI438pe_B0NC3VYUi6yOWf93Kq_AwAA__8dBTZm">