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

    <tr>
        <th>Summary</th>
        <td>
            [clang-doc] Comments in macros don't appear in the generated docs
        </td>
    </tr>

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

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

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

<pre>
    Make a class, declare some of its methods in a macro, with /* comments */ on them. They don't appear in the docs.

An example in action: https://danakj.github.io/subspace-docs/sus/num/i32.html

```cpp
struct i32 final {
  _sus__signed_impl(i32, /*PrimitiveT=*/int32_t, /*UnsignedT=*/u32);
};
```
In `_sus__signed_impl`:
```cpp
#define _sus__signed_log(T) \
  /** Returns the base 2 logarithm of the number, rounded down.               \
   * \
   * Returns None if the number is negative or zero.                          \
   */ \
  constexpr Option<u32> checked_log2() const& {                               \
 if (primitive_value <= 0) [[unlikely]] { \
      return Option<u32>::none(); \
    } else { \
      uint32_t zeros = __private::leading_zeros_nonzero( \
          ::sus::marker::unsafe_fn, \
 __private::into_unsigned(primitive_value));                         \
 return Option<u32>::some(BITS - 1_u32 - u32(zeros)); \
    } \
  }
```

The docs:
```
checked_log2
public [Option](https://danakj.github.io/subspace-docs/sus/option/Option.html) checked_log2()

Defined at line [37](https://github.com/chromium/subspace/blob/main/subspace/num/signed_integer.h#37) of file [signed_integer.h](https://github.com/chromium/subspace/blob/main/subspace/num/signed_integer.h)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VU1v4zYQ_TXjyyCGTFq2fPDBjmpgD_1Am54FShpJ3FCkQFLZTX99QdJuHDvZAj00CGSRIue9eXycEc7JXhPtIT9CXi7E7Adj963Q4vnrojbt6_5n8UwosFHCOWCP2FKjhCV0ZiQ0HUrvcCQ_mNah1ChwFI01YeU36QcEdgJ2wMaMI2nvENgB2AmNRj_QuMSngV6xNRrY1qOYJhI2hPEDYWsat4SshOyQngeN9F2Mk6KI1HhpNPADDt5PDvghYp0S-WUv_TDXS2mAndxcu0k09BBCxnF46nkEdpKcLQc_qmsg2GTpv5mmNOO8nRuPkjPspBYKYXtMXxArN7uqikK2lRwnBayQnAUJUva_WTlKL1_oCXiZBJDac1b5tzV_6hTgbckcQuyAn3FgW769X_il4ReNsMnuaWyyIMonGQHjLXVS03v-yvTAiidgO4T88ZJi4hgO8nfys9UuHlAtHCFDZXphpR_GYIcwr-exJhtys2bWLbXYmm96ie__rsIHV9yNL0i_GE0oryOjdKipF0FSNBb_Imtuo38OFOx3NdUY7Tx9nyz-OiVDPQbl-U_YDNQ8J0kYsCJIEhcD24Tj_xzwBlV2CKyYLiaoXoSaCYE_Ai8xS0ofIT_OWslnUq-Ql5CXEeKaOiLaKMkt0XDI_KCNpsQS-M1G2JZIytFHIeezE6OIDgOlqpqsfBGeUmBFopW6r-KCShsdXoAVt5EiUtwRrld8GYV9JpveZ-1ER1Wno-f_2XoDJrU31Xy-C_eqhexSgv8u-4_ECsULWHH88vQHPuCqmjnDB4w3roh5vgHdKXl9LbblhxcyPZ_ONez-EqbhO3_FmWmulWyCHc6s8xJY8R_Lm0kh2CnFSkUuePjO1teky1gTWhQeVSgOkB_59iMeZwKNCUW0GawZZaynFzLATrUyNbDTKKR-_yFV3kup0p56sssBGOfbwNB02EkVse_W_E9Mdjcntmj3vN3xnVjQfrXZsiJb8-16MexZ17QdiWxFTU2bouX5hrJuvSOWdau8LRZyzzLGs1W2znjO8vWyo5x2Wct27a7jdVvAOqNRSLVU6mVcGtsvpHMz7fNdsdotlKhJudifGdP0DeNHYCy0a7sPex7quXewzpR03r1F8dKr2NgbJXQfvBGqyuOlEUudOrX7pPv2pMkKH4t34xazVfsfyB5Qzz8PkzVfqfGhywWuwYsxl78DAAD__-CGehE">