[clang-tidy] Confusable identifiers detection
authorserge-sans-paille <sguelton@redhat.com>
Fri, 15 Oct 2021 13:20:22 +0000 (15:20 +0200)
committerserge-sans-paille <sguelton@redhat.com>
Wed, 22 Jun 2022 14:17:20 +0000 (16:17 +0200)
commitc3574ef739fbfcc59d405985a3a4fa6f4619ecdb
tree5d399db7303b4bc697a8465316cac10c9335f612
parent3c867898c7be7ed2b5d119a2478a836a0c85f19b
[clang-tidy] Confusable identifiers detection

Detect identifiers that are confusable using a variant of Unicode definition

        http://www.unicode.org/reports/tr39/#Confusable_Detection

and have conflicting scopes.

This a recommit (with portability and feature fixes) of b94db7ed7eaf4a3b21f600653a09c55cab77b79f

Differential Revision: https://reviews.llvm.org/D112916
clang-tools-extra/clang-tidy/misc/CMakeLists.txt
clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp [new file with mode: 0644]
clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.h [new file with mode: 0644]
clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp [new file with mode: 0644]
clang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt [new file with mode: 0644]
clang-tools-extra/clang-tidy/misc/ConfusableTable/confusables.txt [new file with mode: 0644]
clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
clang-tools-extra/docs/ReleaseNotes.rst
clang-tools-extra/docs/clang-tidy/checks/list.rst
clang-tools-extra/docs/clang-tidy/checks/misc-confusable-identifiers.rst [new file with mode: 0644]
clang-tools-extra/test/clang-tidy/checkers/misc-confusable-identifiers.cpp [new file with mode: 0644]