diff options
author | Ted Kremenek <kremenek@apple.com> | 2014-02-27 05:42:07 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2014-02-27 05:42:07 +0000 |
commit | 35883155bb7c211d05510d819e4ea63a4a420ac4 (patch) | |
tree | 4574794e31bfa4db1d4a00e4cea26387715a38c6 /clang/lib/Analysis/ReachableCode.cpp | |
parent | 5346e75966778a50951ab89227f6a46451d232c9 (diff) | |
download | bcm5719-llvm-35883155bb7c211d05510d819e4ea63a4a420ac4.tar.gz bcm5719-llvm-35883155bb7c211d05510d819e4ea63a4a420ac4.zip |
[-Wunreachable-code] Don't warn about unreachable 'default:' cases.
They are covered by -Wcovered-switch-default.
llvm-svn: 202349
Diffstat (limited to 'clang/lib/Analysis/ReachableCode.cpp')
-rw-r--r-- | clang/lib/Analysis/ReachableCode.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Analysis/ReachableCode.cpp b/clang/lib/Analysis/ReachableCode.cpp index 599779871f8..046c9f4792b 100644 --- a/clang/lib/Analysis/ReachableCode.cpp +++ b/clang/lib/Analysis/ReachableCode.cpp @@ -284,6 +284,12 @@ void DeadCodeScan::reportDeadCode(const CFGBlock *B, if (isBreakPrecededByNoReturn(B, S)) return; + // Was this an unreachable 'default' case? Such cases are covered + // by -Wcovered-switch-default, if the user so desires. + const Stmt *Label = B->getLabel(); + if (Label && isa<DefaultStmt>(Label)) + return; + SourceRange R1, R2; SourceLocation Loc = GetUnreachableLoc(S, R1, R2); CB.HandleUnreachable(Loc, R1, R2); |