summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/warn-unreachable.c
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2014-03-06 08:09:00 +0000
committerTed Kremenek <kremenek@apple.com>2014-03-06 08:09:00 +0000
commit6999d02587cfb9f938695c4a433ce25f614df7fe (patch)
treee917872a7bef4a460a200513eeb5ee2222322738 /clang/test/Sema/warn-unreachable.c
parentcf96c257f4bee2858be66e890f639269b4fb0170 (diff)
downloadbcm5719-llvm-6999d02587cfb9f938695c4a433ce25f614df7fe.tar.gz
bcm5719-llvm-6999d02587cfb9f938695c4a433ce25f614df7fe.zip
[-Wunreachable-code] Refine treating all branches of 'switch' as reachable, which includes those with all cases covered but with no 'default:'.
llvm-svn: 203094
Diffstat (limited to 'clang/test/Sema/warn-unreachable.c')
-rw-r--r--clang/test/Sema/warn-unreachable.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/Sema/warn-unreachable.c b/clang/test/Sema/warn-unreachable.c
index fe47e4c6b70..289d74336c9 100644
--- a/clang/test/Sema/warn-unreachable.c
+++ b/clang/test/Sema/warn-unreachable.c
@@ -226,6 +226,17 @@ MyEnum nontrivial_dead_return_enum_2(int x) {
return calledFun(); // expected-warning {{will never be executed}}
}
+enum X { A, B, C };
+
+int covered_switch(enum X x) {
+ switch (x) {
+ case A: return 1;
+ case B: return 2;
+ case C: return 3;
+ }
+ return 4; // no-warning
+}
+
// Test unreachable code depending on configuration values
#define CONFIG_CONSTANT 1
int test_config_constant(int x) {
OpenPOWER on IntegriCloud