diff options
author | Alexander Kornienko <alexfh@google.com> | 2016-12-23 15:03:12 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2016-12-23 15:03:12 +0000 |
commit | bbd853632185a6e3154137ce5776dc72ebd3bd2a (patch) | |
tree | 14d75c96ca0901ab49b115467d7b8623de8b1991 /clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp | |
parent | b9ff23a40240d03cec020bb4e366c789ac8ac664 (diff) | |
download | bcm5719-llvm-bbd853632185a6e3154137ce5776dc72ebd3bd2a.tar.gz bcm5719-llvm-bbd853632185a6e3154137ce5776dc72ebd3bd2a.zip |
[clang-tidy] Flag implicit conversion operators.
llvm-svn: 290434
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp b/clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp index b49ce7bd1e8..f8a154e559d 100644 --- a/clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp +++ b/clang-tools-extra/test/clang-tidy/google-explicit-constructor.cpp @@ -38,6 +38,7 @@ struct A { explicit A(void *x) {} explicit A(void *x, void *y) {} + explicit operator bool() const { return true; } explicit A(const A& a) {} // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: copy constructor should not be declared explicit [google-explicit-constructor] @@ -62,6 +63,10 @@ struct B { B(const std::initializer_list<unsigned> &list2) {} B(std::initializer_list<unsigned> &&list3) {} + operator bool() const { return true; } + // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: 'operator bool' must be marked explicit to avoid unintentional implicit conversions [google-explicit-constructor] + // CHECK-FIXES: {{^ }}explicit operator bool() const { return true; } + explicit B(::std::initializer_list<double> list4) {} // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: initializer-list constructor should not be declared explicit [google-explicit-constructor] // CHECK-FIXES: {{^ }}B(::std::initializer_list<double> list4) {} |