CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
51 lines
1.5 KiB
ReStructuredText
51 lines
1.5 KiB
ReStructuredText
.. title:: clang-tidy - llvm-formatv-string
|
|
|
|
llvm-formatv-string
|
|
===================
|
|
|
|
Validates ``llvm::formatv`` format strings against the provided arguments,
|
|
diagnosing mismatched argument counts, unused arguments, and mixed index
|
|
styles.
|
|
|
|
This check diagnoses the following issues:
|
|
|
|
- The number of replacement indices in the format string does not match the
|
|
number of arguments provided.
|
|
- A format string does not use one of the given arguments.
|
|
- Mixing of automatic and explicit indices (e.g. ``{} {1}``).
|
|
|
|
.. code-block:: c++
|
|
|
|
// warning: format string requires 2 arguments, but 1 argument was provided
|
|
llvm::formatv("{0} {1}", x);
|
|
|
|
// warning: format string mixes automatic and explicit indices
|
|
llvm::formatv("{} {1}", x, y);
|
|
|
|
// warning: argument unused in format string
|
|
llvm::formatv("{0} {2}", x, y, z);
|
|
|
|
// OK.
|
|
llvm::formatv("{0} {1}", x, y);
|
|
llvm::formatv("{} {}", x, y);
|
|
llvm::formatv("{0} {0}", x);
|
|
|
|
The check only operates on calls where the format string is a string literal.
|
|
Dynamic format strings are not diagnosed.
|
|
|
|
Options
|
|
-------
|
|
|
|
.. option:: AdditionalFunctions
|
|
|
|
A semicolon-separated list of additional fully qualified function names to
|
|
check, beyond ``llvm::formatv`` and ``llvm::createStringErrorV``. Each
|
|
function must be a variadic template whose last parameter is a parameter
|
|
pack. The format string is assumed to be the parameter immediately preceding
|
|
the pack.
|
|
|
|
For example, to check ``::mylib::log(Level, const char *Fmt, Ts&&...)`` set
|
|
this option to `::mylib::log`.
|
|
|
|
Default is the empty string.
|