aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/AnalysisBasedWarnings.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2011-01-17 19:06:31 +0000
committerAnders Carlsson <andersca@mac.com>2011-01-17 19:06:31 +0000
commit22c412060e82dbe577dd8374677219dc68baec87 (patch)
tree457974558f528707b0148e66f415822841def162 /lib/Sema/AnalysisBasedWarnings.cpp
parentb918d0f5d8f147e1e26c34e6cf42a79af2d2ec41 (diff)
Handle base and member destructors in CheckFallThrough.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123667 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/AnalysisBasedWarnings.cpp')
-rw-r--r--lib/Sema/AnalysisBasedWarnings.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Sema/AnalysisBasedWarnings.cpp b/lib/Sema/AnalysisBasedWarnings.cpp
index 3ded735f59..4463d3fea5 100644
--- a/lib/Sema/AnalysisBasedWarnings.cpp
+++ b/lib/Sema/AnalysisBasedWarnings.cpp
@@ -136,7 +136,16 @@ static ControlFlowKind CheckFallThrough(AnalysisContext &AC) {
HasPlainEdge = true;
continue;
}
-
+ if (CFGMemberDtor MD = CE.getAs<CFGMemberDtor>()) {
+ // A member destructor.
+ HasPlainEdge = true;
+ continue;
+ }
+ if (CFGBaseDtor BD = CE.getAs<CFGBaseDtor>()) {
+ // A base destructor.
+ HasPlainEdge = true;
+ continue;
+ }
CFGStmt CS = CE.getAs<CFGStmt>();
if (!CS.isValid())
continue;