This is an archive of the discontinued LLVM Phabricator instance.

[libc] Fix linting for string functions
AbandonedPublic

Authored by gchatelet on Apr 29 2021, 6:04 AM.

Details

Reviewers
sivachandra
Summary

I fixed the ones for the string folder but there are many more in the math folder related to dependencies on <math.h> and <fenv.h>

Diff Detail

Event Timeline

gchatelet created this revision.Apr 29 2021, 6:04 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 29 2021, 6:04 AM
gchatelet requested review of this revision.Apr 29 2021, 6:04 AM

Can you share what linting errors you are getting? The include order is setup so that when doing a full build, the build picks up LLVM libc's header files and does not lead to lint errors. If you are seeing lint errors, it could imply that DEPS in the CMake targets are incomplete. The includes for <math.h> and <fenv.h> are as they are to keep the mixed builds working.

Also, we want to include <public_header.h> is all implementation headers because of the reason explained here: https://reviews.llvm.org/D94195#inline-881934. We don't do it currently -- because no one has done the cleanup! Also, there is potential for strange errors elsewhere in pieces which cannot be part of a mixed build.

Can you share what linting errors you are getting? The include order is setup so that when doing a full build, the build picks up LLVM libc's header files and does not lead to lint errors. If you are seeing lint errors, it could imply that DEPS in the CMake targets are incomplete. The includes for <math.h> and <fenv.h> are as they are to keep the mixed builds working.

Also, we want to include <public_header.h> is all implementation headers because of the reason explained here: https://reviews.llvm.org/D94195#inline-881934. We don't do it currently -- because no one has done the cleanup! Also, there is potential for strange errors elsewhere in pieces which cannot be part of a mixed build.

Hmm I see. Here is the full log (without this patch apply so you can see all the errors I'm getting.

[3027/3373] Linting... feholdexcept
FAILED: projects/libc/src/fenv/.feholdexcept.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang feholdexcept.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang feholdexcept.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.feholdexcept.__lint_timestamp__
/home/git/llvm-project/libc/src/fenv/feholdexcept.cpp:13:1: error: system include fenv.h not allowed [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/src/fenv/feholdexcept.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/src/fenv/feholdexcept.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3028/3373] Linting... feclearexcept
FAILED: projects/libc/src/fenv/.feclearexcept.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang feclearexcept.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang feclearexcept.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.feclearexcept.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3029/3373] Linting... fesetround
FAILED: projects/libc/src/fenv/.fesetround.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang fesetround.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang fesetround.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.fesetround.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3030/3373] Linting... fegetexceptflag
FAILED: projects/libc/src/fenv/.fegetexceptflag.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang fegetexceptflag.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang fegetexceptflag.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.fegetexceptflag.__lint_timestamp__
/home/git/llvm-project/libc/src/fenv/fegetexceptflag.cpp:13:1: error: system include fenv.h not allowed [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/src/fenv/fegetexceptflag.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/src/fenv/fegetexceptflag.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3031/3373] Linting... feupdateenv
FAILED: projects/libc/src/fenv/.feupdateenv.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang feupdateenv.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang feupdateenv.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.feupdateenv.__lint_timestamp__
/home/git/llvm-project/libc/src/fenv/feupdateenv.cpp:13:1: error: system include fenv.h not allowed [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/src/fenv/feupdateenv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/src/fenv/feupdateenv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3032/3373] Linting... fesetexceptflag
FAILED: projects/libc/src/fenv/.fesetexceptflag.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang fesetexceptflag.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang fesetexceptflag.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.fesetexceptflag.__lint_timestamp__
/home/git/llvm-project/libc/src/fenv/fesetexceptflag.cpp:13:1: error: system include fenv.h not allowed [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/src/fenv/fesetexceptflag.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/src/fenv/fesetexceptflag.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3033/3373] Linting... fetestexcept
FAILED: projects/libc/src/fenv/.fetestexcept.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang fetestexcept.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang fetestexcept.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.fetestexcept.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3034/3373] Linting... fegetround
FAILED: projects/libc/src/fenv/.fegetround.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang fegetround.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang fegetround.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.fegetround.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3035/3373] Linting... strlen
FAILED: projects/libc/src/string/.strlen.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/string && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang strlen.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang strlen.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/string/.strlen.__lint_timestamp__
/home/git/llvm-project/libc/src/string/strlen.h:12:1: error: system include string.h not allowed, transitively included from /home/git/llvm-project/libc/src/string/strlen.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <string.h>
^~~~~~~~~~~~~~~~~~~
[3036/3373] Linting... fesetenv
FAILED: projects/libc/src/fenv/.fesetenv.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang fesetenv.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang fesetenv.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.fesetenv.__lint_timestamp__
/home/git/llvm-project/libc/src/fenv/fesetenv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/src/fenv/fesetenv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3037/3373] Linting... fegetenv
FAILED: projects/libc/src/fenv/.fegetenv.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang fegetenv.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang fegetenv.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.fegetenv.__lint_timestamp__
/home/git/llvm-project/libc/src/fenv/fegetenv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/src/fenv/fegetenv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3038/3373] Linting... feraiseexcept
FAILED: projects/libc/src/fenv/.feraiseexcept.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/fenv && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang feraiseexcept.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang feraiseexcept.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/fenv/.feraiseexcept.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3090/3373] Linting... ilogbf
FAILED: projects/libc/src/math/generic/.ilogbf.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang ilogbf.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang ilogbf.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.ilogbf.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3091/3373] Linting... copysignf
FAILED: projects/libc/src/math/generic/.copysignf.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang copysignf.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang copysignf.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.copysignf.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3092/3373] Linting... ilogbl
FAILED: projects/libc/src/math/generic/.ilogbl.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang ilogbl.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang ilogbl.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.ilogbl.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3093/3373] Linting... logbl
FAILED: projects/libc/src/math/generic/.logbl.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang logbl.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang logbl.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.logbl.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3095/3373] Linting... nextafterl
FAILED: projects/libc/src/math/generic/.nextafterl.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang nextafterl.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang nextafterl.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.nextafterl.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3097/3373] Linting... ldexpl
FAILED: projects/libc/src/math/generic/.ldexpl.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang ldexpl.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang ldexpl.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.ldexpl.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3100/3373] Linting... modfl
FAILED: projects/libc/src/math/generic/.modfl.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang modfl.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang modfl.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.modfl.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3101/3373] Linting... ilogb
FAILED: projects/libc/src/math/generic/.ilogb.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang ilogb.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang ilogb.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.ilogb.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3102/3373] Linting... copysignl
FAILED: projects/libc/src/math/generic/.copysignl.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang copysignl.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang copysignl.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.copysignl.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3103/3373] Linting... nextafter
FAILED: projects/libc/src/math/generic/.nextafter.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang nextafter.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang nextafter.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.nextafter.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3104/3373] Linting... ldexp
FAILED: projects/libc/src/math/generic/.ldexp.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang ldexp.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang ldexp.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.ldexp.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3105/3373] Linting... ldexpf
FAILED: projects/libc/src/math/generic/.ldexpf.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang ldexpf.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang ldexpf.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.ldexpf.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3106/3373] Linting... nextafterf
FAILED: projects/libc/src/math/generic/.nextafterf.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang nextafterf.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang nextafterf.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.nextafterf.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3107/3373] Linting... copysign
FAILED: projects/libc/src/math/generic/.copysign.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang copysign.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang copysign.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.copysign.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3108/3373] Linting... logbf
FAILED: projects/libc/src/math/generic/.logbf.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang logbf.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang logbf.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.logbf.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3109/3373] Linting... modff
FAILED: projects/libc/src/math/generic/.modff.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang modff.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang modff.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.modff.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3110/3373] Linting... logb
FAILED: projects/libc/src/math/generic/.logb.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang logb.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang logb.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.logb.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~
[3111/3373] Linting... modf
FAILED: projects/libc/src/math/generic/.modf.__lint_timestamp__ 
cd /home/git/llvm-project/libc/src/math/generic && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --extra-arg=-fno-caret-diagnostics --quiet -p /home/llvm-project_dbg_compiled-with-clang modf.cpp && /home/llvm-project_dbg_compiled-with-clang/bin/clang-tidy --system-headers --checks="-*,llvmlibc-restrict-system-libc-headers" --extra-arg=-resource-dir=/home/build-llvm/download/clang/lib/clang/13.0.0 --quiet -p /home/llvm-project_dbg_compiled-with-clang modf.cpp && /usr/bin/cmake -E touch /home/llvm-project_dbg_compiled-with-clang/projects/libc/src/math/generic/.modf.__lint_timestamp__
/home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h:19:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/ManipulationFunctions.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:17:1: error: system include math.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <math.h>
^~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h:19:1: error: system include errno.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/NearestIntegerOperations.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <errno.h>
^~~~~~~~~~~~~~~~~~
/home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h:12:1: error: system include fenv.h not allowed, transitively included from /home/git/llvm-project/libc/utils/FPUtil/x86_64/FEnv.h [llvmlibc-restrict-system-libc-headers,-warnings-as-errors]
#include <fenv.h>
^~~~~~~~~~~~~~~~~

Ah, you are probably doing a mixed build with linting enabled. I think that is a bug in the CMake logic. It should not allow you to switch on linting in mixed build mode (mixed build mode is the default mode). Linting should be on only in full build mode.
FWIW, we have full build builders on the public buildbot which build with linting enabled. Example: https://lab.llvm.org/buildbot/#/builders/163

I will send a patch to fix the CMake logic.

gchatelet added a comment.EditedApr 29 2021, 9:10 AM

Ah, you are probably doing a mixed build with linting enabled. I think that is a bug in the CMake logic. It should not allow you to switch on linting in mixed build mode (mixed build mode is the default mode). Linting should be on only in full build mode.
FWIW, we have full build builders on the public buildbot which build with linting enabled. Example: https://lab.llvm.org/buildbot/#/builders/163

What do you mean exactly by "mixed build"?

When I compile I can see this message:

-- Set COMPILER_RESOURCE_DIR to /home/build-llvm/download/clang/lib/clang/13.0.0 using --print-resource-dir
CMake Warning at /home/git/llvm-project/libc/CMakeLists.txt:61 (message):
  

      Linting for libc is currently disabled.

  

      This is not recommended, to enable set LLVM_LIBC_ENABLE_LINTING to ON
      (pass -DLLVM_LIBC_ENABLE_LINTING=ON to cmake).

Which I why I enabled -DLLVM_LIBC_ENABLE_LINTING=ON and then I started to get the errors, and then I tried to fix them :-)

Mixed build - You only pick those parts from LLVM libc which you are interested in and get the rest from the system libc. In this mode, we don't use headers from LLVM libc.
Full build - This mode behaves as if LLVM libc is the only libc. So, we want to ensure that the libc build does not get mixed up with headers from the system libc. The lint step helps us with this.

In mixed build mode, CMake should not warn you about linting at all. Will send a fix soon.

Mixed build - You only pick those parts from LLVM libc which you are interested in and get the rest from the system libc. In this mode, we don't use headers from LLVM libc.
Full build - This mode behaves as if LLVM libc is the only libc. So, we want to ensure that the libc build does not get mixed up with headers from the system libc. The lint step helps us with this.

In mixed build mode, CMake should not warn you about linting at all. Will send a fix soon.

Thx for the explanation, I never triggered full build (AFAIU you need to pass -DLLVM_LIBC_FULL_BUILD=ON) I ran into these errors by running check-libc or libc_string_unittests.
I think it's only a matter of disabling the warning (llvm-project/libc/CMakeLists.txt:61) when not in full build mode then.

gchatelet abandoned this revision.Apr 30 2021, 2:57 AM