summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/PseudoConstantAnalysis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Analysis/PseudoConstantAnalysis.cpp')
-rw-r--r--clang/lib/Analysis/PseudoConstantAnalysis.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Analysis/PseudoConstantAnalysis.cpp b/clang/lib/Analysis/PseudoConstantAnalysis.cpp
index ff43fc252aa..25b04fc2e8a 100644
--- a/clang/lib/Analysis/PseudoConstantAnalysis.cpp
+++ b/clang/lib/Analysis/PseudoConstantAnalysis.cpp
@@ -86,6 +86,9 @@ void PseudoConstantAnalysis::RunAnalysis() {
const Stmt* Head = WorkList.front();
WorkList.pop_front();
+ if (const Expr *Ex = dyn_cast<Expr>(Head))
+ Head = Ex->IgnoreParenCasts();
+
switch (Head->getStmtClass()) {
// Case 1: Assignment operators modifying VarDecls
case Stmt::BinaryOperatorClass: {
@@ -225,8 +228,8 @@ void PseudoConstantAnalysis::RunAnalysis() {
continue;
}
- default:
- break;
+ default:
+ break;
} // switch (head->getStmtClass())
// Add all substatements to the worklist
OpenPOWER on IntegriCloud