[PATCH] D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check

Whisperity via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 25 01:01:13 PST 2020


whisperity added a comment.

In D69560#1890026 <https://reviews.llvm.org/D69560#1890026>, @aaron.ballman wrote:

> In D69560#1889925 <https://reviews.llvm.org/D69560#1889925>, @vingeldal wrote:
>
> > Doesn't clang-tidy exclude warnings from system headers by default though?
>
>
> Third-party SDKs are not always brought in as system headers, unfortunately. Even ignoring system and third-party headers, having two parameters of the same type is a natural occurrence for some data types (like `bool`) where it is going to be extremely hard to tell whether they're related or unrelated parameters.


I have specifically applied the matcher in this patch in a way that it only matches for the **definition** of the function symbol. If you never create a build database out of the third party "package" and run the check on the third-party library's source code, you will not get a warning for these.

While it's //somewhat// wonky that an "interface" rule is matching the "implementation" nodes, it is a natural restriction to only warn the user about things they have a reliable way of fixing. Hopefully, they will not forget to align their headers after potentially fixing the implementation code.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69560/new/

https://reviews.llvm.org/D69560





More information about the cfe-commits mailing list