summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/google/MemsetZeroLengthCheck.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2014-07-16 14:52:07 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2014-07-16 14:52:07 +0000
commit806bcabcdafbb1deb8e3f1821d848f33f67a8dd5 (patch)
tree5cf2d3e45554c8a302ead70db7a485b1238cc664 /clang-tools-extra/clang-tidy/google/MemsetZeroLengthCheck.cpp
parentd6a499077a2ec818af8657b3376de987d0b51e22 (diff)
downloadbcm5719-llvm-806bcabcdafbb1deb8e3f1821d848f33f67a8dd5.tar.gz
bcm5719-llvm-806bcabcdafbb1deb8e3f1821d848f33f67a8dd5.zip
[clang-tidy] As a simple heuristic don't emit a swap fixit that would create
negative-sized memsets. memset(x, -1, 0) is still useless but swapping makes no sense here. Just emit a warning. llvm-svn: 213157
Diffstat (limited to 'clang-tools-extra/clang-tidy/google/MemsetZeroLengthCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/google/MemsetZeroLengthCheck.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-tidy/google/MemsetZeroLengthCheck.cpp b/clang-tools-extra/clang-tidy/google/MemsetZeroLengthCheck.cpp
index 98c6246b836..b9b776e0b5c 100644
--- a/clang-tools-extra/clang-tidy/google/MemsetZeroLengthCheck.cpp
+++ b/clang-tools-extra/clang-tidy/google/MemsetZeroLengthCheck.cpp
@@ -63,7 +63,8 @@ void MemsetZeroLengthCheck::check(const MatchFinder::MatchResult &Result) {
return;
// If both arguments evaluate to zero emit a warning without fix suggestions.
- if (Arg1->EvaluateAsInt(Value1, *Result.Context) && Value1 == 0) {
+ if (Arg1->EvaluateAsInt(Value1, *Result.Context) &&
+ (Value1 == 0 || Value1.isNegative())) {
diag(Call->getLocStart(), "memset of size zero");
return;
}
OpenPOWER on IntegriCloud