diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-07-24 21:20:02 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-07-24 21:20:02 +0300 |
commit | 848ae28c0ba53343e40092a1ffd241c412739b8c (patch) | |
tree | 530ffca114a44c9a659ff9a3c3f1c2b77d4af7c8 | |
parent | 6dbd708914bee5b1b1ca9922e733196eaeec80c8 (diff) | |
download | paranucker-848ae28c0ba53343e40092a1ffd241c412739b8c.tar.gz paranucker-848ae28c0ba53343e40092a1ffd241c412739b8c.tar.bz2 paranucker-848ae28c0ba53343e40092a1ffd241c412739b8c.tar.xz paranucker-848ae28c0ba53343e40092a1ffd241c412739b8c.zip |
Add detection for some calls to new operator.
-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 db70da6..57263d3 100644 --- a/src/analysis/expression.cpp +++ b/src/analysis/expression.cpp @@ -1000,6 +1000,12 @@ bool handleSetVarToFunction(const std::string &var, comp = static_cast<CompoundExprNode*>(node2); if (comp->args.empty()) return handleSetVarToFunctionBack(var, node2, wo); + if(comp->args.size() > 1 && + skipNop(comp->args[0]) == TARGET_EXPR && + skipNop(comp->args[1]) == COMPOUND_EXPR) + { + comp = static_cast<CompoundExprNode*>(skipNop(comp->args[1])); + } if (skipNop(comp->args[0]) == TRY_CATCH_EXPR) { TryCatchExprNode *tryCatch = static_cast<TryCatchExprNode*>(skipNop(comp->args[0])); |