clangtidy.xml includes, for example, both a clang-diagnostic-c++1y-extensions rule and a clang-diagnostic-c++14-extensions rule. They are logically the same rule, though.
If somebody is scanning the output of an old version of clang, and "clang-diagnostic-c++1y-extensions" is found, it should probably be treated as a clang-diagnostic-c++14-extensions match.
AFAICT this applies to the following rules
-
C++14
clang-diagnostic-c++1y-extensions -> clang-diagnostic-c++14-extensions
-
C++17
clang-diagnostic-c++1z-compat -> clang-diagnostic-c++17-compat
clang-diagnostic-c++1z-compat-mangling -> clang-diagnostic-c++17-compat-mangling
clang-diagnostic-c++1z-extensions -> clang-diagnostic-c++17-extensions
-
C++20
clang-diagnostic-c++2a-compat -> clang-diagnostic-c++20-compat
clang-diagnostic-c++2a-compat-pedantic -> clang-diagnostic-c++20-compat-pedantic
clang-diagnostic-c++2a-extensions -> clang-diagnostic-c++20-extensions
-
C++23
clang-diagnostic-c++2b-extensions -> clang-diagnostic-c++23-extensions
clang-diagnostic-pre-c++2b-compat -> clang-diagnostic-pre-c++23-compat
clang-diagnostic-pre-c++2b-compat-pedantic -> clang-diagnostic-pre-c++23-compat-pedantic
-
C++26
clang-diagnostic-c++2c-compat -> clang-diagnostic-c++26-compat
clang-diagnostic-c++2c-extensions -> clang-diagnostic-c++26-extensions
clang-diagnostic-pre-c++2c-compat -> clang-diagnostic-pre-c++26-compat
clang-diagnostic-pre-c++2c-compat-pedantic -> clang-diagnostic-pre-c++26-compat-pedantic
clangtidy.xml includes, for example, both a clang-diagnostic-c++1y-extensions rule and a clang-diagnostic-c++14-extensions rule. They are logically the same rule, though.
If somebody is scanning the output of an old version of clang, and "clang-diagnostic-c++1y-extensions" is found, it should probably be treated as a clang-diagnostic-c++14-extensions match.
AFAICT this applies to the following rules
C++14
clang-diagnostic-c++1y-extensions -> clang-diagnostic-c++14-extensions
C++17
clang-diagnostic-c++1z-compat -> clang-diagnostic-c++17-compat
clang-diagnostic-c++1z-compat-mangling -> clang-diagnostic-c++17-compat-mangling
clang-diagnostic-c++1z-extensions -> clang-diagnostic-c++17-extensions
C++20
clang-diagnostic-c++2a-compat -> clang-diagnostic-c++20-compat
clang-diagnostic-c++2a-compat-pedantic -> clang-diagnostic-c++20-compat-pedantic
clang-diagnostic-c++2a-extensions -> clang-diagnostic-c++20-extensions
C++23
clang-diagnostic-c++2b-extensions -> clang-diagnostic-c++23-extensions
clang-diagnostic-pre-c++2b-compat -> clang-diagnostic-pre-c++23-compat
clang-diagnostic-pre-c++2b-compat-pedantic -> clang-diagnostic-pre-c++23-compat-pedantic
C++26
clang-diagnostic-c++2c-compat -> clang-diagnostic-c++26-compat
clang-diagnostic-c++2c-extensions -> clang-diagnostic-c++26-extensions
clang-diagnostic-pre-c++2c-compat -> clang-diagnostic-pre-c++26-compat
clang-diagnostic-pre-c++2c-compat-pedantic -> clang-diagnostic-pre-c++26-compat-pedantic