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

    <tr>
        <th>Summary</th>
        <td>
            [Clang] Builtins for implementing `numeric_limits`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    It would be great if Clang could provide builtins instead of macros to implement floating point `numeric_limts`. This would avoid a bunch of boilerplate for all the different floating point types. While this isn't a huge deal right now with just `float`, `double` and `long double`, P1467R9 added `float16_t`, `float32_t`, `float64_t`, `float128_t` and `bfloat16_t`, bringing the total count up to eight. If Clang also adds `_Decimal32`, `_Decimal64` and `_Decimal128`, this goes up to eleven specializations for `numeric_limits`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsk09vpDgQxT-NuZTSAvP_wGGTqKXcVquV9hjZuIDKGhvZRUeZTz8y051kJjkhfrLfq6pXVjHS7BAHUd-L-jFTOy8-DNtC1tH_bdtm2pu34Ynh1e_WgEaYAyoGmuDBKjfDePAt-AsZBL2TZXIRyEVGZcBPsKox-AjsgdbN4oqOYbJeMbkZNk-OQTS521cMND5bWjmKJj_BvwvFq626eDKgQO9uXJKm9mQxbFYxwuQDKGuBFwRD04ThGwd-2zCe4L-FLAInZYpOyJZBwbLPCAaVhUDzwuD8K7wSL_Cyx6O2Q0s0uZAP6df4XVsUTQ7KmQSsdzO803Tq76Jq2n96UMageZcomudPMgcq5RfUVF9QIbuD3Qz1n3I6kJtTt2kI7FnZFIxj2Lc0eEx9neDpFpqy0afaYhJ7fsSRVmVL-eF6Y031yfUGC9ldTx6DnD3Gm4_FCzqIG46kLP1QTN7FI6HfI6ZfGWdmKE1f9irDoWhlU9SyqmW2DAbHSZem6Udd9HVvZNd3U1c3rZFK17rLaJC5rPK-kEVVtaU85VWvWo0Tlp0yWueiynFVZE_WXtaTD3NGMe44FHlX5TKzSqONx9pLOaahCCnTCwhDunCn9zmKKrcUOX5IMLE93soxRlE_wv1t4VOP7_udkviu4WwPdliYtyjKv4Q8C3meiZddn0a_CnlORtfP3Rb8C44s5PkoPAp5vtZ-GeTPAAAA___DsTc_">