diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-23 03:03:43 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-23 03:03:43 +0300 |
commit | 25d65c8c744e01909ec279e512c5f2a3f7b601a1 (patch) | |
tree | da0dc3d10a35f80d6fd36c6d06f9c54a61b3a42f /src/analysis/expression.cpp | |
parent | 25aea8acd5ba7aa87c88b7b16a146c667096bf62 (diff) | |
download | paranucker-25d65c8c744e01909ec279e512c5f2a3f7b601a1.tar.gz paranucker-25d65c8c744e01909ec279e512c5f2a3f7b601a1.tar.bz2 paranucker-25d65c8c744e01909ec279e512c5f2a3f7b601a1.tar.xz paranucker-25d65c8c744e01909ec279e512c5f2a3f7b601a1.zip |
Fix some issues in TRUTH_ANDIF_EXPR analysis.
Diffstat (limited to 'src/analysis/expression.cpp')
-rw-r--r-- | src/analysis/expression.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/analysis/expression.cpp b/src/analysis/expression.cpp index 621be38..7d80afc 100644 --- a/src/analysis/expression.cpp +++ b/src/analysis/expression.cpp @@ -208,7 +208,13 @@ void analyseTruthAndIfExpr(TruthAndIfExprNode *node, const WalkItem &wi, WalkIte if (!wo1.uselessExpr && !wo2.uselessExpr) { // need combine wo1 and wo2 intersectNullChecked(wo, wo1, wo2); + } + if (!wo1.uselessExpr) + { mergeNonNullChecked(wo, wo1); + } + if (!wo2.uselessExpr) + { mergeNonNullChecked(wo, wo2); } wo.cleanExpr = wo1.cleanExpr && wo2.cleanExpr; |