Closed
Description
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 includelibc/include/llvm-libc-macros/fenv-macros.h
in full build mode. (See for instancelibc/hdr/math_macros.h
). - Add its corresponding cmake target in
libc/hdr/CMakeLists.txt
. - Replacing as many
#include <fenv.h>
and cmake target dependency onlibc.include.fenv
as possible, and document where those inclusion cannot be removed yet (due to usage of types or functions defined infenv.h
) - Add
hdr_fenv_macros
target inutils/bazel/llvm-project-overlay/libc/BUILD.bazel
. - Update dependencies to all targets that include
hdr/fenv_macros.h
.