[all-commits] [llvm/llvm-project] 9198d0: Allow disabling integer to floating-point narrowin...
paulaltin via All-commits
all-commits at lists.llvm.org
Thu Dec 16 05:25:26 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9198d04c06b561cd78d9407cedd50f7b995ee6d8
https://github.com/llvm/llvm-project/commit/9198d04c06b561cd78d9407cedd50f7b995ee6d8
Author: Paul Altin <paul at liquidinstruments.com>
Date: 2021-12-16 (Thu, 16 Dec 2021)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines-narrowing-conversions.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
Log Message:
-----------
Allow disabling integer to floating-point narrowing conversions for cppcoreguidelines-narrowing-conversions
This change adds an option to disable warnings from the
cppcoreguidelines-narrowing-conversions check on integer to floating-
point conversions which may be narrowing.
An example of a case where this might be useful:
```
std::vector<double> v = {1, 2, 3, 4};
double mean = std::accumulate(v.cbegin(), v.cend(), 0.0) / v.size();
```
The conversion from std::size_t to double is technically narrowing on
64-bit systems, but v almost certainly does not have enough elements
for this to be a problem.
This option would allow the cppcoreguidelines-narrowing-conversions
check to be enabled on codebases which might otherwise turn it off
because of cases like the above.
More information about the All-commits
mailing list