diff options
author | Ted Kremenek <kremenek@apple.com> | 2014-03-08 02:22:32 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2014-03-08 02:22:32 +0000 |
commit | efea63450bae24c08e53d4f599a6d7e776a54605 (patch) | |
tree | 6a122445861908ec6a21bb7475ee0d9c51f90ce2 /clang/lib/Analysis/ReachableCode.cpp | |
parent | fcc1417fad167a945596e41cf5f3cdc8c96ee686 (diff) | |
download | bcm5719-llvm-efea63450bae24c08e53d4f599a6d7e776a54605.tar.gz bcm5719-llvm-efea63450bae24c08e53d4f599a6d7e776a54605.zip |
[-Wunreachabe-code] Don't warn about unreachable destructors for temporaries.
This can possibly be refined later, but right now the experience
is so incomprehensible for a user to understand what is going on
this isn't a useful warning.
llvm-svn: 203336
Diffstat (limited to 'clang/lib/Analysis/ReachableCode.cpp')
-rw-r--r-- | clang/lib/Analysis/ReachableCode.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/Analysis/ReachableCode.cpp b/clang/lib/Analysis/ReachableCode.cpp index 5d74156092c..9191958399b 100644 --- a/clang/lib/Analysis/ReachableCode.cpp +++ b/clang/lib/Analysis/ReachableCode.cpp @@ -397,9 +397,11 @@ const Stmt *DeadCodeScan::findDeadCode(const clang::CFGBlock *Block) { } if (CFGTerminator T = Block->getTerminator()) { - const Stmt *S = T.getStmt(); - if (isValidDeadStmt(S)) - return S; + if (!T.isTemporaryDtorsBranch()) { + const Stmt *S = T.getStmt(); + if (isValidDeadStmt(S)) + return S; + } } return 0; |