Those bindings requires extra dependencies (like Python, pybind11)
and clang-tidy fails to analyze the source files if they are not
configured properly.
some compiler-rt files contain architecture-specific assembly code or
complex macroses which clang-tidy can't process properly.
In case of assembly code: we can get "unknown register name 'a7' in asm"
In sanitizer_common_syscalls.inc we have issuels like:
"clang-tidy: error: unknown type name '__sanitizer_iovec'"
Both files include GPU header files for which clang implicitly adds include directories. However, clang-tidy does not and therefore we get compile errors (i.e. not diagnostics that we could disable with NOLINT).
libclc implements OpenCL C, which is not actual C/C++, and implements an
external API with different naming conventions.
As clang-tidy cannot parse the source[0], just blacklist all of libclc's
sources for now.
[0]: https://buildkite.com/llvm-project/premerge-checks/builds/695
Now clang-format report will skip files matching `clang-format.ignore`.
For now it's empty.
clang-tidy will not receive diffs for `clang-tidy.ignore` (it still can
produce warnings for these files).
In addition build bot will not will not post comments for files
that are matched by `clang-tidy-comments.ignore`. Now project/file should
be whitelisted to receive inline comments from clang-tidy.
Added all /test directories to `clang-tidy.ignore`.
Other alternatives considered:
- using 'compile_commands.json': does not contain header files.
- specifying -regex option to 'clang-tidy-diff': probably not the best
experience of providing multiple rules and maintaining a single regex.