![Forrest logo](/images/logo.png)
clang-tidy:tldr:f760a
The command clang-tidy ${filename-cpp} -checks=${-*,cppcoreguidelines-*}
is used to invoke the clang-tidy
tool with certain checks enabled for a specific C++ source file.
Let's break down the command:
-
${filename-cpp}
: This is a placeholder syntax (likely in a shell/Makefile script) for the actual name of the C++ source file you want to analyze. It will be replaced by the real filename before executing the command. -
clang-tidy
: This is the name of the clang-tidy tool, which is a static analysis tool for C++ code. It analyzes the code and provides warnings and suggestions for improvements. -
${filename-cpp}
: This is the name of the C++ source file to be analyzed. It will be replaced with the actual filename you want to analyze. -
-checks=${-*,cppcoreguidelines-*}
: This part of the command specifies the checks that should be enabled for the analysis.-
${-*,cppcoreguidelines-*}
is another placeholder that will be replaced with the actual checks before executing the command. It represents a list of checks separated by commas, which will be expanded later. -
The
-checks=
option is used to enable specific checks for the analysis. By using the${-*,cppcoreguidelines-*}
placeholder, it allows you to specify a set of checks dynamically. -
cppcoreguidelines-*
is a glob-like pattern that matches all checks belonging to thecppcoreguidelines
module. These checks come from the C++ Core Guidelines, which are a set of rules and recommendations for writing safer and more efficient C++ code. -
${-*}
represents all checks. This allows you to enable all available checks for the analysis if you don't want to filter them based on specific guidelines or modules.
-
In summary, when you run this command with an actual C++ source file name and enable certain checks, clang-tidy
will analyze the code in that file and provide warnings and suggestions based on the enabled checks.