llvm-project/clang-tools-extra/test
Carlos Galvez 670de10f9d Disable clang-tidy warnings from system macros
Currently, it's inconsistent that warnings are disabled if they
come from system headers, unless they come from macros.
Typically a user cannot act upon these warnings coming from
system macros, so clang-tidy should ignore them unless the
user specifically requests warnings from system headers
via the corresponding configuration.

This change broke the ProTypeVarargCheck check, because it
was checking for the usage of va_arg indirectly, expanding it
(it's a system macro) to detect the usage of __builtin_va_arg.
The check has been fixed by checking directly what the rule
is about: "do not use va_arg", by adding a PP callback that
checks if any macro with name "va_arg" is expanded. The old
AST matcher is still kept for compatibility with Windows.

Add unit test that ensures warnings from macros are disabled
when not using the -system-headers flag. Document the change
in the Release Notes.

Differential Revision: https://reviews.llvm.org/D116378
2022-01-06 20:27:28 +00:00
..
Unit
clang-apply-replacements [clang-apply-replacements] Correctly handle relative paths 2021-11-11 18:28:43 +00:00
clang-change-namespace
clang-doc
clang-include-fixer
clang-move
clang-query [clang-tooling] Prevent llvm::fatal_error on invalid CLI option 2021-01-29 10:15:06 +01:00
clang-reorder-fields
clang-tidy Disable clang-tidy warnings from system macros 2022-01-06 20:27:28 +00:00
modularize [NFC][clang-tools-extra] Inclusive language: replace master with main 2021-11-25 11:01:16 -06:00
pp-trace [clang] Let PPCallbacks::PragmaWarning() pass specifier as enum instead of string 2021-09-28 19:47:27 -04:00
.clang-format
CMakeLists.txt [libclang] Remove LIBCLANG_INCLUDE_CLANG_TOOLS_EXTRA 2021-03-01 13:21:59 -05:00
lit.cfg.py
lit.site.cfg.py.in [libclang] Remove LIBCLANG_INCLUDE_CLANG_TOOLS_EXTRA 2021-03-01 13:21:59 -05:00