File tree Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -72,15 +72,17 @@ bool LiveVariables::LivenessValues::isLive(const Expr *E) const {
72
72
73
73
bool LiveVariables::LivenessValues::isLive (const VarDecl *D) const {
74
74
if (const auto *DD = dyn_cast<DecompositionDecl>(D)) {
75
- bool alive = false ;
76
- for (const BindingDecl *BD : DD->bindings ())
77
- alive |= liveBindings.contains (BD);
78
-
79
75
// Note: the only known case this condition is necessary, is when a bindig
80
76
// to a tuple-like structure is created. The HoldingVar initializers have a
81
77
// DeclRefExpr to the DecompositionDecl.
82
- alive |= liveDecls.contains (DD);
83
- return alive;
78
+ if (liveDecls.contains (DD))
79
+ return true ;
80
+
81
+ for (const BindingDecl *BD : DD->bindings ()) {
82
+ if (liveBindings.contains (BD))
83
+ return true ;
84
+ }
85
+ return false ;
84
86
}
85
87
return liveDecls.contains (D);
86
88
}
You can’t perform that action at this time.
0 commit comments