diff options
author | Malcolm Parsons <malcolm.parsons@gmail.com> | 2018-11-27 16:23:39 +0000 |
---|---|---|
committer | Malcolm Parsons <malcolm.parsons@gmail.com> | 2018-11-27 16:23:39 +0000 |
commit | 7e86abec1da8003634bfb4f8f99f200cd8215075 (patch) | |
tree | 50ce0ab54eeacd8c534852220986d79143de2f9f /clang-tools-extra/test | |
parent | 00cbe9c9e9432d3bd519f8a824222e3c2b7ff6e2 (diff) |
[clang-tidy] Ignore bool -> single bit bitfield conversion in readability-implicit-bool-conversion
Summary: There is no ambiguity / information loss in this conversion
Reviewers: alexfh, aaron.ballman, hokein
Reviewed By: alexfh
Subscribers: xazax.hun, cfe-commits
Differential Revision: https://reviews.llvm.org/D54941
Diffstat (limited to 'clang-tools-extra/test')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/readability-implicit-bool-conversion.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/clang-tools-extra/test/clang-tidy/readability-implicit-bool-conversion.cpp b/clang-tools-extra/test/clang-tidy/readability-implicit-bool-conversion.cpp index 1cc0f4f51e8..d5e9bee4294 100644 --- a/clang-tools-extra/test/clang-tidy/readability-implicit-bool-conversion.cpp +++ b/clang-tools-extra/test/clang-tidy/readability-implicit-bool-conversion.cpp @@ -444,14 +444,27 @@ struct S { int a; int b : 1; int c : 2; + + S(bool a, bool b, bool c) : a(a), b(b), c(c) {} + // CHECK-MESSAGES: :[[@LINE-1]]:33: warning: implicit conversion bool -> 'int' + // CHECK-MESSAGES: :[[@LINE-2]]:45: warning: implicit conversion bool -> 'int' + // CHECK-FIXES: S(bool a, bool b, bool c) : a(static_cast<int>(a)), b(b), c(static_cast<int>(c)) {} }; -bool f(const S& s) { +bool f(S& s) { functionTaking<bool>(s.a); // CHECK-MESSAGES: :[[@LINE-1]]:24: warning: implicit conversion 'int' -> bool // CHECK-FIXES: functionTaking<bool>(s.a != 0); functionTaking<bool>(s.b); // CHECK-FIXES: functionTaking<bool>(s.b); + s.a = true; + // CHECK-MESSAGES: :[[@LINE-1]]:9: warning: implicit conversion bool -> 'int' + // CHECK-FIXES: s.a = 1; + s.b = true; + // CHECK-FIXES: s.b = true; + s.c = true; + // CHECK-MESSAGES: :[[@LINE-1]]:9: warning: implicit conversion bool -> 'int' + // CHECK-FIXES: s.c = 1; functionTaking<bool>(s.c); // CHECK-MESSAGES: :[[@LINE-1]]:24: warning: implicit conversion 'int' -> bool // CHECK-FIXES: functionTaking<bool>(s.c != 0); |