summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/warn-unreachable.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2014-03-29 04:49:20 +0000
committerTed Kremenek <kremenek@apple.com>2014-03-29 04:49:20 +0000
commitab57a1555acffbeddf98818007fb9dff0a56c619 (patch)
treee8c68d8927034945a55a5bca46390931e2b2858a /clang/test/SemaCXX/warn-unreachable.cpp
parent48fb4887064e047647453ac2cf9f7054ec8d6ecb (diff)
downloadbcm5719-llvm-ab57a1555acffbeddf98818007fb9dff0a56c619.tar.gz
bcm5719-llvm-ab57a1555acffbeddf98818007fb9dff0a56c619.zip
[-Wunreachable-code] Expand paren-suppression heuristic to C++/ObjC bools.
llvm-svn: 205074
Diffstat (limited to 'clang/test/SemaCXX/warn-unreachable.cpp')
-rw-r--r--clang/test/SemaCXX/warn-unreachable.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/warn-unreachable.cpp b/clang/test/SemaCXX/warn-unreachable.cpp
index 8acaf428551..04bd74304b7 100644
--- a/clang/test/SemaCXX/warn-unreachable.cpp
+++ b/clang/test/SemaCXX/warn-unreachable.cpp
@@ -294,3 +294,36 @@ void test_unreachable_forrange_increment() {
}
}
+void calledFun() {}
+
+// Test "silencing" with parentheses.
+void test_with_paren_silencing(int x) {
+ if (false) calledFun(); // expected-warning {{will never be executed}} expected-note {{silence by adding parentheses to mark code as explicitly dead}}
+ if ((false)) calledFun(); // no-warning
+
+ if (true) // expected-note {{silence by adding parentheses to mark code as explicitly dead}}
+ calledFun();
+ else
+ calledFun(); // expected-warning {{will never be executed}}
+
+ if ((true))
+ calledFun();
+ else
+ calledFun(); // no-warning
+
+ if (!true) // expected-note {{silence by adding parentheses to mark code as explicitly dead}}
+ calledFun(); // expected-warning {{code will never be executed}}
+ else
+ calledFun();
+
+ if ((!true))
+ calledFun(); // no-warning
+ else
+ calledFun();
+
+ if (!(true))
+ calledFun(); // no-warning
+ else
+ calledFun();
+}
+
OpenPOWER on IntegriCloud