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

    <tr>
        <th>Summary</th>
        <td>
            [libc] Add proxy header for fenv.h macro constants.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc
      </td>
    </tr>

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

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

<pre>
    Context: https://github.com/llvm/llvm-project/pull/87017 https://github.com/llvm/llvm-project/pull/87598

Add a proxy header for fenv.h macro constants so that our implementations and tests will work nicely for both overlay and full build modes.

- [ ]  Add `libc/hdr/fenv_macros.h` that will include the system `<fenv.h>` in overlay mode or include `libc/include/llvm-libc-macros/fenv-macros.h` in full build mode.  (See for instance `libc/hdr/math_macros.h` ).
- [ ] Add its corresponding cmake target in `libc/hdr/CMakeLists.txt`.
- [ ] Replacing as many `#include <fenv.h>` and cmake target dependency on `libc.include.fenv` as possible, and document where those inclusion cannot be removed yet (due to usage of types or functions defined in `fenv.h`)
- [ ] Add `hdr_fenv_macros` target in `utils/bazel/llvm-project-overlay/libc/BUILD.bazel`.
- [ ] Update dependencies to all targets that include `hdr/fenv_macros.h`.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyklE2PozgQhn-NuZSCHBMIHDj0x0ZaafayqzmPDK4Ebxsb2UV3s79-ZcNkMuk-7GouiWTVx1tPvZQMQV8sYsvKR1Y-Z3KmwfnWWJox65xa2idnCd-JFQ8wEE2BFQ9MnJg4XTQNc5f3bmTiZMzr97_d5N3f2BMTp2k2holTfeT74y9kl03N-DPjD-vvg1IgYfLufYEBpUIPZ-fhjPY1H2CUvXfQOxtIWgoQHNAgCdzsQY-TwREtSdLOBpBWAWGgAG_aGHhz_gWs7tEsqWLnaAD3it7IJcWeZ2Ogm7VRMDqFIb-VtQNWPgIrnwGiQlZxo7ueidOgPBOnKO9bEhfygVV8VZX6atubWSHQgBCWQDjGbFY8rSOx4rcYr-1VS2wOzl8Tf_TaXr7DjK-7tekmYXcrQdv7kXIAJuq_EBMAnSD2-GGYUdLw0zBMNPk9hkhBU4DeeY9hclZpe4F-lC8IJP0FKQq4L_30h3zBLzpQyOmdWMU_1P0TJyP7WEsGGKVdEi1RXGncgYub-6mrwgmtQtsv4K4C8i09j7kpLcDkQtCdQSaeUhXl-jnaB94G9HFfLuC6hKCdhV5a6wg6BI-je0UFC1LkqWYEcjAHeUFwZ6BlwhAXeJ5tv1pR4VlbVBuRTX8cq_kMK6v4oPy3G08lR91CnUmbuPRO_oPm7uPabUaKzyv7x6-_f3nO19hPkH-dlCT8AU5jiANJY7amYbXzjSE_d_1WOVNtoZqikRm2--NeFMeqLOtsaI9Fg2XfHzgvC2wE8gYLvt8rxEodykpmuhVcHPiBV_zAm32dYynFuRb1QR7xWKiOHTiOUps8Dpw7f8l0CDO29bGuiszIDk1I106IdXYR755vE59uvgR24CbZ71qANJl0IVPCtoL_eH_ybPam_d-3L2kO6frVVfFvAAAA__8ITtdr">