[clang-tools-extra] [clang-tidy] New option to remove arguments from the command line (PR #164344)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Dec 6 08:27:56 PST 2025
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 3054 tests passed
* 7 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### Clang Tools
<details>
<summary>Clang Tools.clang-tidy/infrastructure/removed-args.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
not clang-tidy /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/removed-args.cpp -- -fnot-an-option | FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/removed-args.cpp -check-prefix=INVALID-A
# executed command: not clang-tidy /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/removed-args.cpp -- -fnot-an-option
# .---command stderr------------
# | 1 error generated.
# | Error while processing /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/removed-args.cpp.
# | Found compiler error(s).
# `-----------------------------
# executed command: FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/removed-args.cpp -check-prefix=INVALID-A
# note: command had no output on stdout or stderr
# RUN: at line 2
clang-tidy /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/removed-args.cpp --config="{RemovedArgs: ['-fnot-an-option']}" -- -fnot-an-option
# executed command: clang-tidy /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/test/clang-tidy/infrastructure/removed-args.cpp '--config={RemovedArgs: ['"'"'-fnot-an-option'"'"']}' -- -fnot-an-option
# .---command stdout------------
# | USAGE: clang-tidy [options] <source0> [... <sourceN>]
# |
# | OPTIONS:
# |
# | Generic Options:
# |
# | --help - Display available options (--help-hidden for more)
# | --version - Display the version of this program
# |
# | clang-tidy options:
# |
# | --allow-no-checks - Allow empty enabled checks. This suppresses
# | the "no checks enabled" error when disabling
# | all of the checks.
# | --checks=<string> - Comma-separated list of globs with optional '-'
# | prefix. Globs are processed in order of
# | appearance in the list. Globs without '-'
# | prefix add checks with matching names to the
# | set, globs with the '-' prefix remove checks
# | with matching names from the set of enabled
# | checks. This option's value is appended to the
# | value of the 'Checks' option in .clang-tidy
# | file, if any.
# | --config=<string> - Specifies a configuration in YAML/JSON format:
# | -config="{Checks: '*',
# | CheckOptions: {x: y}}"
# | When the value is empty, clang-tidy will
# | attempt to find a file named .clang-tidy for
# | each source file in its parent directories.
# | --config-file=<string> - Specify the path of .clang-tidy or custom config file:
# | e.g. --config-file=/some/path/myTidyConfigFile
# | This option internally works exactly the same way as
# | --config option after reading specified config file.
# | Use either --config-file or --config, not both.
# | --dump-config - Dumps configuration in the YAML format to
# | stdout. This option can be used along with a
# | file name (and '--' if the file is outside of a
# | project with configured compilation database).
# | The configuration used for this file will be
# | printed.
# | Use along with -checks=* to include
# | configuration of all checks.
# | --enable-check-profile - Enable per-check timing profiles, and print a
# | report to stderr.
# | --enable-module-headers-parsing - Enables preprocessor-level module header parsing
# | for C++20 and above, empowering specific checks
# | to detect macro definitions within modules. This
# | feature may cause performance and parsing issues
# | and is therefore considered experimental.
# | --exclude-header-filter=<string> - Regular expression matching the names of the
# | headers to exclude diagnostics from. Diagnostics
# | from the main file of each translation unit are
# | always displayed.
# | Must be used together with --header-filter.
# | Can be used together with -line-filter.
# | This option overrides the 'ExcludeHeaderFilterRegex'
# | option in .clang-tidy file, if any.
# | --experimental-custom-checks - Enable experimental clang-query based
# | custom checks.
# | see https://clang.llvm.org/extra/clang-tidy/QueryBasedCustomChecks.html.
# | --explain-config - For each enabled check explains, where it is
# | enabled, i.e. in clang-tidy binary, command
# | line or a specific configuration file.
# | --export-fixes=<filename> - YAML file to store suggested fixes in. The
# | stored fixes can be applied to the input source
# | code with clang-apply-replacements.
# | --extra-arg=<string> - Additional argument to append to the compiler command line
# | --extra-arg-before=<string> - Additional argument to prepend to the compiler command line
# | --fix - Apply suggested fixes. Without -fix-errors
# | clang-tidy will bail out if any compilation
# | errors were found.
# | --fix-errors - Apply suggested fixes even if compilation
# | errors were found. If compiler errors have
# | attached fix-its, clang-tidy will apply them as
# | well.
# | --fix-notes - If a warning has no fix, but a single fix can
# | be found through an associated diagnostic note,
# | apply the fix.
# | Specifying this flag will implicitly enable the
# | '--fix' flag.
# | --format-style=<string> - Style for formatting code around applied fixes:
# | - 'none' (default) turns off formatting
# | - 'file' (literally 'file', not a placeholder)
# | uses .clang-format file in the closest parent
# | directory
# | - '{ <json> }' specifies options inline, e.g.
# | -format-style='{BasedOnStyle: llvm, IndentWidth: 8}'
# | - 'llvm', 'google', 'webkit', 'mozilla'
# | See clang-format documentation for the up-to-date
# | information about formatting styles and options.
# | This option overrides the 'FormatStyle` option in
# | .clang-tidy file, if any.
# | --header-filter=<string> - Regular expression matching the names of the
# | headers to output diagnostics from. The default
# | value is '.*', i.e. diagnostics from all non-system
# | headers are displayed by default. Diagnostics
# | from the main file of each translation unit are
# | always displayed.
# | Can be used together with -line-filter.
# | This option overrides the 'HeaderFilterRegex'
# | option in .clang-tidy file, if any.
# | --line-filter=<string> - List of files and line ranges to output diagnostics from.
# | The range is inclusive on both ends. Can be used together
# | with -header-filter. The format of the list is a JSON
# | array of objects. For example:
# |
# | [
# | {"name":"file1.cpp","lines":[[1,3],[5,7]]},
# | {"name":"file2.h"}
# | ]
# |
# | This will output diagnostics from 'file1.cpp' only for
# | the line ranges [1,3] and [5,7], as well as all from the
# | entire 'file2.h'.
# | --list-checks - List all enabled checks and exit. Use with
# | -checks=* to list all available checks.
# | --load=<pluginfilename> - Load the specified plugin
# | -p <string> - Build path
# | --quiet - Run clang-tidy in quiet mode. This suppresses
# | printing statistics about ignored warnings and
# | warnings treated as errors if the respective
# | options are specified.
# | --removed-arg=<string> - List of arguments to remove from the command
# | line sent to the compiler. Please note that
# | removing arguments might change the semantic
# | of the analzed code, possibly leading to
# | compiler errors, false positives or
# | false negatives. This option is applied
# | before --extra-arg and --extra-arg-before
# | --store-check-profile=<prefix> - By default reports are printed in tabulated
# | format to stderr. When this option is passed,
# | these per-TU profiles are instead stored as JSON.
# | --system-headers - Display the errors from system headers.
# | This option overrides the 'SystemHeaders' option
# | in .clang-tidy file, if any.
# | --use-color - Use colors in diagnostics. If not set, colors
# | will be used if the terminal connected to
# | standard output supports colors.
# | This option overrides the 'UseColor' option in
# | .clang-tidy file, if any.
# | --verify-config - Check the config files to ensure each check and
# | option is recognized without running any checks.
# | --vfsoverlay=<filename> - Overlay the virtual filesystem described by file
# | over the real file system.
# | --warnings-as-errors=<string> - Upgrades warnings to errors. Same format as
# | '-checks'.
# | This option's value is appended to the value of
# | the 'WarningsAsErrors' option in .clang-tidy
# | file, if any.
# `-----------------------------
# .---command stderr------------
# | Error: no checks enabled.
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/164344
More information about the cfe-commits
mailing list