<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/92023>92023</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Wdocumentation false postive warning for a
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
andrei-sandor
</td>
</tr>
</table>
<pre>
Here is a bug regarding a Doxygen annotation for a struct.
Given the file structDoxygenFinal.cxx:
```c++
/**
* \struct BooleanDispatch
* \brief A comment here
*/
template <bool>
struct BooleanDispatch
{};
int main ()
{
return 0;
}
```
Run this command:
```
clang++ -Wdocumentation -std=c++14 -fsyntax-only structDoxygenFinal.cxx
```
The following warning will be generated
```
structDoxygenFinal.cxx:3:5: warning: '@struct' command should not be used in a comment attached to a non-struct declaration [-Wdocumentation]
* \struct BooleanDispatch
~^~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
```
To fix this warning, the comment could be placed between Template<bool> and
struct BooleanDispatch in structDoxygenFinal.cxx
Is it fine, if in general, a Doxygen comment with \struct is placed between a template
statement and a struct statement?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVMuO6ygQ_Rq8KSVywI47Cy-Szs3MbEdXmnUZyjYjAhHgTnpzv32EyWta05HGQrZ51OHUqQeGoAdL1LJ6x-p9gVMcnW_RKk96EdAq54vOqc_2d_IEOgBCNw3gaUCvtB0AYe8unwNZQGtdxKidhd55QAjRTzIuWbln5Ta_f9MfZCGOBL02dD1xBThoi2YpLxcmts82bF3mIRnfpZFX-YHxbRrzFBjfAqvfMyLsnDOEdq_DCaMc_32m85p62IJ0xyPZCCN5uoHOuE-XRzqeDEYCJt475wwTP_LGq4tYs2PNnondM5K2EY6oLTD-xvjmcTJzA09x8hbKh1mz_yLAM9yfU9JRh9kLtOo70fJUGrRDlg8Wfyknp-R5DtYiRMXE_qruqoJFHz5txMvCWfP5XYy-Z_YzRdcZ484pP87o7fzVxkBHMJAlj5EUvKD7bV4IJrY1E9sbbPplvGFVmU0Yb26CQBjdZBRYF9O9UyAF2gLew44xohxJQXSAYJ1dXGOqSBr0WRxW777oxer9_0i5X6z-8eu_nry_uutz12X5SloHvb7kuN8U4O9zPd28krPTHcHJoKT0F89EFn5eE_mRx5Cy5kUuJ7VeBn9-_xFAR-i1pcRE98kq-2LSwqM93AiedRyfZNPhK1OEW9Hd2GGkHDGr7m0F7stMHArVCrURGyyoXTWrei1Wb4IXYyvXDS_xranralVt1goFUbnq-YaqtVS1LHTLS16V9UrwkouaL2u5EWUtGy7fqrpSPatKOqI2S2M-jkvnh0KHMFG7SecLgx2ZMHdPzi2dYd5knKdm6ttks-imIbCqNDrE8ECJOhpqv5RijyYQnFyI-oPuqZG7aTF5044xnkIq9dT9DoOO49QtpTsyfkjI18_i5N3flKrhMPMJjB9mvv8EAAD__3NM3jE">