diff options
| author | Aaron Ballman <aaron@aaronballman.com> | 2016-01-25 20:00:53 +0000 |
|---|---|---|
| committer | Aaron Ballman <aaron@aaronballman.com> | 2016-01-25 20:00:53 +0000 |
| commit | a5d55a46176a97b260e89fba55b8cf217e390422 (patch) | |
| tree | 85dab61d6fc404f946d35aebc504bb45ba38da5c /clang-tools-extra/test | |
| parent | 92f0f7c2f394e31a21f77ec3d43569c26154f6e1 (diff) | |
| download | bcm5719-llvm-a5d55a46176a97b260e89fba55b8cf217e390422.tar.gz bcm5719-llvm-a5d55a46176a97b260e89fba55b8cf217e390422.zip | |
Add support to the misc-assert-side-effect check for MSVC-style assert macros, which use !! instead of an if statement or a conditional operator.
llvm-svn: 258714
Diffstat (limited to 'clang-tools-extra/test')
| -rw-r--r-- | clang-tools-extra/test/clang-tidy/misc-assert-side-effect.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/clang-tools-extra/test/clang-tidy/misc-assert-side-effect.cpp b/clang-tools-extra/test/clang-tidy/misc-assert-side-effect.cpp index b4abadeb6cf..8cb4ebffa54 100644 --- a/clang-tools-extra/test/clang-tidy/misc-assert-side-effect.cpp +++ b/clang-tools-extra/test/clang-tidy/misc-assert-side-effect.cpp @@ -1,4 +1,4 @@ -// RUN: %check_clang_tidy %s misc-assert-side-effect %t -- -config="{CheckOptions: [{key: misc-assert-side-effect.CheckFunctionCalls, value: 1}, {key: misc-assert-side-effect.AssertMacros, value: 'assert,assert2,my_assert,convoluted_assert'}]}" -- -fexceptions +// RUN: %check_clang_tidy %s misc-assert-side-effect %t -- -config="{CheckOptions: [{key: misc-assert-side-effect.CheckFunctionCalls, value: 1}, {key: misc-assert-side-effect.AssertMacros, value: 'assert,assert2,my_assert,convoluted_assert,msvc_assert'}]}" -- -fexceptions //===--- assert definition block ------------------------------------------===// int abort() { return 0; } @@ -35,6 +35,12 @@ void print(...); #define wrap2(x) wrap1(x) #define convoluted_assert(x) wrap2(x) +#define msvc_assert(expression) (void)( \ + (!!(expression)) || \ + (abort(), 0) \ + ) + + //===----------------------------------------------------------------------===// class MyClass { @@ -101,5 +107,8 @@ int main() { assert2(1 == 2 - 1); + msvc_assert(mc2 = mc); + // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: found msvc_assert() with side effect + return 0; } |

