Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
8b63bfbf |
| 11-Dec-2024 |
qt-tatiana <tatiana.borisova@qt.io> |
[clang-tidy] Create a check for signed and unsigned integers comparison (#113144)
- modernize-use-integer-sign-comparison replaces comparisons between signed and unsigned integers with their safe C+
[clang-tidy] Create a check for signed and unsigned integers comparison (#113144)
- modernize-use-integer-sign-comparison replaces comparisons between signed and unsigned integers with their safe C++20 ``std::cmp_*`` alternative, if available.
show more ...
|
Revision tags: llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
1038db6f |
| 08-Jul-2024 |
Nathan James <n.james93@hotmail.co.uk> |
[clang-tidy] Add checks to convert std library iterator algorithms into c++20 or boost ranges (#97764)
Added modernize-use-ranges
Added boost-use-ranges
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6 |
|
#
af79372d |
| 13-May-2024 |
Mike Crowe <mac@mcrowe.com> |
[clang-tidy] Add modernize-use-std-format check (#90397)
Add a new clang-tidy check that converts absl::StrFormat (and similar
functions) to std::format (and similar functions.)
Split the config
[clang-tidy] Add modernize-use-std-format check (#90397)
Add a new clang-tidy check that converts absl::StrFormat (and similar
functions) to std::format (and similar functions.)
Split the configuration of FormatStringConverter out to a separate
Configuration class so that we don't risk confusion by passing two
boolean configuration parameters into the constructor. Add
AllowTrailingNewlineRemoval option since we never want to remove
trailing newlines in this check.
show more ...
|
Revision tags: llvmorg-18.1.5 |
|
#
d3f92e30 |
| 25-Apr-2024 |
Sopy <doimpt@sopy.one> |
[clang-tidy] add check to suggest replacement of nested std::min or std::max with initializer lists (#85572)
Identifies cases where `std::min` or `std::max` is used to find the
minimum or maximum v
[clang-tidy] add check to suggest replacement of nested std::min or std::max with initializer lists (#85572)
Identifies cases where `std::min` or `std::max` is used to find the
minimum or maximum value among more than two items through repeated
calls. The check replaces these calls with a single call to `std::min`
or `std::max` that uses an initializer list. This makes the code
slightly more efficient.
Closes #25340
show more ...
|
Revision tags: llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1 |
|
#
525fe449 |
| 29-Feb-2024 |
Danny Mösch <danny.moesch@icloud.com> |
[clang-tidy] Add new check `modernize-use-designated-initializers` (#80541)
|
Revision tags: llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init |
|
#
0eb7d53c |
| 06-Dec-2023 |
Julian Schmidt <44101708+5chmidti@users.noreply.github.com> |
[clang-tidy] add modernize-use-std-numbers (#66583)
Finds constants and function calls to math functions that can be
replaced with c++20's mathematical constants from the 'numbers'
header and off
[clang-tidy] add modernize-use-std-numbers (#66583)
Finds constants and function calls to math functions that can be
replaced with c++20's mathematical constants from the 'numbers'
header and offers fix-it hints.
Does not match the use of variables with that value, and instead,
offers a replacement at the definition of those variables.
show more ...
|
#
1e1e11a4 |
| 06-Dec-2023 |
Piotr Zegar <me@piotrzegar.pl> |
Revert "[clang-tidy] add modernize-use-std-numbers (#66583)"
Compilation issue, to be resolved.
This reverts commit 3f73fd774cf8fc2f288767ea077bfa351eb7aa80.
|
#
3f73fd77 |
| 06-Dec-2023 |
Julian Schmidt <44101708+5chmidti@users.noreply.github.com> |
[clang-tidy] add modernize-use-std-numbers (#66583)
Finds constants and function calls to math functions that can be
replaced with c++20's mathematical constants from the 'numbers'
header and off
[clang-tidy] add modernize-use-std-numbers (#66583)
Finds constants and function calls to math functions that can be
replaced with c++20's mathematical constants from the 'numbers'
header and offers fix-it hints.
Does not match the use of variables with that value, and instead,
offers a replacement at the definition of those variables.
show more ...
|
#
bc8cff1d |
| 04-Dec-2023 |
Nicolas van Kempen <nvankempen@meta.com> |
[clang-tidy] Add new modernize-use-starts-ends-with check (#72385)
Make a modernize version of abseil-string-find-startswith using the
available C++20 `std::string::starts_with` and
`std::string_v
[clang-tidy] Add new modernize-use-starts-ends-with check (#72385)
Make a modernize version of abseil-string-find-startswith using the
available C++20 `std::string::starts_with` and
`std::string_view::starts_with`. Following up from
https://github.com/llvm/llvm-project/pull/72283.
show more ...
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2 |
|
#
893d53d1 |
| 30-Jul-2023 |
Chris Cotter <ccotter14@bloomberg.net> |
[clang-tidy] Implement modernize-use-constraints
Add new check to replace enable_if with C++20 constraints
Reviewed By: PiotrZSL
Differential Revision: https://reviews.llvm.org/D141892
|
Revision tags: llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
83f875dc |
| 26-Jun-2023 |
Mike Crowe <mac@mcrowe.com> |
[clang-tidy] Add modernize-printf-to-std-print check
Add FormatStringConverter utility class that is capable of converting printf-style format strings into std::print-style format strings along with
[clang-tidy] Add modernize-printf-to-std-print check
Add FormatStringConverter utility class that is capable of converting printf-style format strings into std::print-style format strings along with recording a set of casts to wrap the arguments as required and removing now-unnecessary calls to std::string::c_str() and std::string::data()
Use FormatStringConverter to implement a new clang-tidy check that is capable of converting calls to printf, fprintf, absl::PrintF, absl::FPrintF, or any functions configured by an option to calls to std::print and std::println, or other functions configured by options.
In other words, the check turns:
fprintf(stderr, "The %s is %3d\n", description.c_str(), value);
into:
std::println(stderr, "The {} is {:3}", description, value);
if it can.
std::print and std::println can do almost anything that standard printf can, but the conversion has some some limitations that are described in the documentation. If conversion is not possible then the call remains unchanged.
Depends on D153716
Reviewed By: PiotrZSL
Differential Revision: https://reviews.llvm.org/D149280
show more ...
|
#
9215e3a8 |
| 26-Jun-2023 |
Piotr Zegar <me@piotrzegar.pl> |
Revert "[clang-tidy] Add modernize-printf-to-std-print check"
This reverts commit ec89cb9a81529fd41fb37b8e62203a2e9f23bd54.
|
#
ec89cb9a |
| 26-Jun-2023 |
Mike Crowe <mac@mcrowe.com> |
[clang-tidy] Add modernize-printf-to-std-print check
Add FormatStringConverter utility class that is capable of converting printf-style format strings into std::print-style format strings along with
[clang-tidy] Add modernize-printf-to-std-print check
Add FormatStringConverter utility class that is capable of converting printf-style format strings into std::print-style format strings along with recording a set of casts to wrap the arguments as required and removing now-unnecessary calls to std::string::c_str() and std::string::data()
Use FormatStringConverter to implement a new clang-tidy check that is capable of converting calls to printf, fprintf, absl::PrintF, absl::FPrintF, or any functions configured by an option to calls to std::print and std::println, or other functions configured by options.
In other words, the check turns:
fprintf(stderr, "The %s is %3d\n", description.c_str(), value);
into:
std::println(stderr, "The {} is {:3}", description, value);
if it can.
std::print and std::println can do almost anything that standard printf can, but the conversion has some some limitations that are described in the documentation. If conversion is not possible then the call remains unchanged.
Depends on D153716
Reviewed By: PiotrZSL
Differential Revision: https://reviews.llvm.org/D149280
show more ...
|
#
8f124e73 |
| 25-Jun-2023 |
Piotr Zegar <me@piotrzegar.pl> |
Revert "[clang-tidy] Add modernize-printf-to-std-print check"
This reverts commit 81418ada06abbeba9fd0ea17282cce542cd07706.
|
#
81418ada |
| 25-Jun-2023 |
Mike Crowe <mac@mcrowe.com> |
[clang-tidy] Add modernize-printf-to-std-print check
Add FormatStringConverter utility class that is capable of converting printf-style format strings into std::print-style format strings along with
[clang-tidy] Add modernize-printf-to-std-print check
Add FormatStringConverter utility class that is capable of converting printf-style format strings into std::print-style format strings along with recording a set of casts to wrap the arguments as required and removing now-unnecessary calls to std::string::c_str() and std::string::data()
Use FormatStringConverter to implement a new clang-tidy check that is capable of converting calls to printf, fprintf, absl::PrintF, absl::FPrintF, or any functions configured by an option to calls to std::print and std::println, or other functions configured by options.
In other words, the check turns:
fprintf(stderr, "The %s is %3d\n", description.c_str(), value);
into:
std::println(stderr, "The {} is {:3}", description, value);
if it can.
std::print and std::println can do almost anything that standard printf can, but the conversion has some some limitations that are described in the documentation. If conversion is not possible then the call remains unchanged.
Depends on D153716
Reviewed By: PiotrZSL
Differential Revision: https://reviews.llvm.org/D149280
show more ...
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2 |
|
#
376168ba |
| 07-Apr-2023 |
Nathan James <n.james93@hotmail.co.uk> |
[clang-tidy] Add modernize-type-traits check
This check will look for usages of standard library type traits of the form `traits<...>::type` and `traits<...>::value` and convert them into `traits_t<
[clang-tidy] Add modernize-type-traits check
This check will look for usages of standard library type traits of the form `traits<...>::type` and `traits<...>::value` and convert them into `traits_t<...>` and `traits_v<...>` respectively. This expands on the work in D135404 by supporting dependent traits with no instantiations as well as types.
Differential Revision: https://reviews.llvm.org/D137302
show more ...
|
Revision tags: llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3 |
|
#
45ddc157 |
| 12-Feb-2023 |
Carlos Galvez <carlosgalvezp@gmail.com> |
[clang-tidy][NFC] Remove ModernizeTidyModule::getModuleOptions
Most of the options stated there are duplicated already in the implementation of each check as a default value for each option.
The on
[clang-tidy][NFC] Remove ModernizeTidyModule::getModuleOptions
Most of the options stated there are duplicated already in the implementation of each check as a default value for each option.
The only place where this is not the case is the nullptr check. Move the default option there instead. Only the HICPP guidelines alias this modernize check, and there is nothing in the documentation that suggests it should have a different default value than the main modernize check.
Differential Revision: https://reviews.llvm.org/D143843
show more ...
|
Revision tags: llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init |
|
#
7d2ea6c4 |
| 14-Jan-2023 |
Carlos Galvez <carlosgalvezp@gmail.com> |
[clang-tidy][NFC] Use C++17 nested namespaces in the clang-tidy folder
Fix applied by running:
run-clang-tidy.py -checks=-*,modernize-concat-nested-namespaces
Differential Revision: https://review
[clang-tidy][NFC] Use C++17 nested namespaces in the clang-tidy folder
Fix applied by running:
run-clang-tidy.py -checks=-*,modernize-concat-nested-namespaces
Differential Revision: https://reviews.llvm.org/D141770
show more ...
|
Revision tags: llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
f547fc89 |
| 01-Apr-2022 |
Richard <legalize@xmission.com> |
[clang-tidy] Add modernize-macro-to-enum check
[buildbot issues fixed]
This check performs basic analysis of macros and replaces them with an anonymous unscoped enum. Using an unscoped anonymous e
[clang-tidy] Add modernize-macro-to-enum check
[buildbot issues fixed]
This check performs basic analysis of macros and replaces them with an anonymous unscoped enum. Using an unscoped anonymous enum ensures that everywhere the macro token was used previously, the enumerator name may be safely used.
Potential macros for replacement must meet the following constraints: - Macros must expand only to integral literal tokens. The unary operators plus, minus and tilde are recognized to allow for positive, negative and bitwise negated integers. - Macros must be defined on sequential source file lines, or with only comment lines in between macro definitions. - Macros must all be defined in the same source file. - Macros must not be defined within a conditional compilation block. - Macros must not be defined adjacent to other preprocessor directives. - Macros must not be used in preprocessor conditions
Each cluster of macros meeting the above constraints is presumed to be a set of values suitable for replacement by an anonymous enum. From there, a developer can give the anonymous enum a name and continue refactoring to a scoped enum if desired. Comments on the same line as a macro definition or between subsequent macro definitions are preserved in the output. No formatting is assumed in the provided replacements.
The check cppcoreguidelines-macro-to-enum is an alias for this check.
Fixes #27408
Differential Revision: https://reviews.llvm.org/D117522
show more ...
|
#
cef52105 |
| 25-Mar-2022 |
Douglas Yung <douglas.yung@sony.com> |
Revert "[clang-tidy] Add modernize-macro-to-enum check"
This reverts commit 39b80c8380c86539de391600efaa17184b5a52b4.
This change was causing build failures on several build bots: - https://lab.llv
Revert "[clang-tidy] Add modernize-macro-to-enum check"
This reverts commit 39b80c8380c86539de391600efaa17184b5a52b4.
This change was causing build failures on several build bots: - https://lab.llvm.org/buildbot/#/builders/139/builds/19210 - https://lab.llvm.org/buildbot/#/builders/93/builds/7956
show more ...
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
#
39b80c83 |
| 03-Jan-2022 |
Richard <legalize@xmission.com> |
[clang-tidy] Add modernize-macro-to-enum check
This check performs basic analysis of macros and replaces them with an anonymous unscoped enum. Using an unscoped anonymous enum ensures that everywhe
[clang-tidy] Add modernize-macro-to-enum check
This check performs basic analysis of macros and replaces them with an anonymous unscoped enum. Using an unscoped anonymous enum ensures that everywhere the macro token was used previously, the enumerator name may be safely used.
Potential macros for replacement must meet the following constraints: - Macros must expand only to integral literal tokens. The unary operators plus, minus and tilde are recognized to allow for positive, negative and bitwise negated integers. - Macros must be defined on sequential source file lines, or with only comment lines in between macro definitions. - Macros must all be defined in the same source file. - Macros must not be defined within a conditional compilation block. - Macros must not be defined adjacent to other preprocessor directives. - Macros must not be used in preprocessor conditions
Each cluster of macros meeting the above constraints is presumed to be a set of values suitable for replacement by an anonymous enum. From there, a developer can give the anonymous enum a name and continue refactoring to a scoped enum if desired. Comments on the same line as a macro definition or between subsequent macro definitions are preserved in the output. No formatting is assumed in the provided replacements.
The check cppcoreguidelines-macro-to-enum is an alias for this check.
Fixes #27408
Differential Revision: https://reviews.llvm.org/D117522
show more ...
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
#
e636e6b7 |
| 03-Jun-2020 |
Konrad Kleine <kkleine@redhat.com> |
[clang-tidy]: Added modernize-replace-disallow-copy-and-assign-macro
Summary: This check finds macro expansions of `DISALLOW_COPY_AND_ASSIGN(Type)` and replaces them with a deleted copy constructor
[clang-tidy]: Added modernize-replace-disallow-copy-and-assign-macro
Summary: This check finds macro expansions of `DISALLOW_COPY_AND_ASSIGN(Type)` and replaces them with a deleted copy constructor and a deleted assignment operator.
Before the `delete` keyword was introduced in C++11 it was common practice to declare a copy constructor and an assignment operator as a private members. This effectively makes them unusable to the public API of a class.
With the advent of the `delete` keyword in C++11 we can abandon the `private` access of the copy constructor and the assignment operator and delete the methods entirely.
Migration example:
``` lang=dif class Foo { private: - DISALLOW_COPY_AND_ASSIGN(Foo); + Foo(const Foo &) = delete; + const Foo &operator=(const Foo &) = delete; }; ```
Reviewers: alexfh, hokein, aaron.ballman, njames93
Reviewed By: njames93
Subscribers: Eugene.Zelenko, mgorny, xazax.hun, cfe-commits
Tags: #clang, #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D80531
show more ...
|
Revision tags: llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
#
61c0daa0 |
| 10-May-2019 |
Aaron Ballman <aaron@aaronballman.com> |
Recommit r360345 with fixes (was reverted in r360348).
Add the modernize-use-trailing-return check to rewrite function signatures to use trailing return types.
Patch by Bernhard Manfred Gruber.
ll
Recommit r360345 with fixes (was reverted in r360348).
Add the modernize-use-trailing-return check to rewrite function signatures to use trailing return types.
Patch by Bernhard Manfred Gruber.
llvm-svn: 360438
show more ...
|
#
02680833 |
| 09-May-2019 |
Aaron Ballman <aaron@aaronballman.com> |
Revert r360345 and r360346, as they are not passing the testbots.
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/48063/steps/test/logs/stdio
llvm-svn: 360348
|
#
8e015b2e |
| 09-May-2019 |
Aaron Ballman <aaron@aaronballman.com> |
Add the modernize-use-trailing-return check to rewrite function signatures to use trailing return types.
Patch by Bernhard Manfred Gruber.
llvm-svn: 360345
|