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