<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">