diff --git a/clang/docs/DataFlowAnalysisIntro.md b/clang/docs/DataFlowAnalysisIntro.md --- a/clang/docs/DataFlowAnalysisIntro.md +++ b/clang/docs/DataFlowAnalysisIntro.md @@ -287,7 +287,7 @@ (Note that there are other ways to write this equation that produce higher precision analysis results. The trick is to keep exploring the execution paths -separately and delay joining until later. Hoowever, we won't discuss those +separately and delay joining until later. However, we won't discuss those variations here.) To make a conclusion about all paths through the program, we repeat this diff --git a/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp --- a/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp @@ -107,11 +107,8 @@ dyn_cast(Ex->IgnoreParenCasts()); if (!BO) break; - if (BO->getOpcode() == BO_Assign) { - Ex = BO->getRHS(); - continue; - } - if (BO->getOpcode() == BO_Comma) { + BinaryOperatorKind BO_AssignOrComma = BO->getOpcode(); + if (BO_AssignOrComma == BO_Assign || BO_AssignOrComma == BO_Comma) { Ex = BO->getRHS(); continue; }