diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-23 19:47:08 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-23 19:47:08 +0300 |
commit | 69e9e905de9dd9fb5c28abb5013945bba03e9dbb (patch) | |
tree | 6897b769af7fd15d041192cda25d47820fcb2f57 /src/analysis/analysis.cpp | |
parent | 8aa42b625d7fd34d22df6690e5b305b5be525eea (diff) | |
download | paranucker-69e9e905de9dd9fb5c28abb5013945bba03e9dbb.tar.gz paranucker-69e9e905de9dd9fb5c28abb5013945bba03e9dbb.tar.bz2 paranucker-69e9e905de9dd9fb5c28abb5013945bba03e9dbb.tar.xz paranucker-69e9e905de9dd9fb5c28abb5013945bba03e9dbb.zip |
Fix false positive for ADDR_EXPR node.
Ignored example: arr.push_back(ptr);
Diffstat (limited to 'src/analysis/analysis.cpp')
-rw-r--r-- | src/analysis/analysis.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/analysis/analysis.cpp b/src/analysis/analysis.cpp index 6d57274..3cd7215 100644 --- a/src/analysis/analysis.cpp +++ b/src/analysis/analysis.cpp @@ -227,6 +227,15 @@ Node *skipNop(Node *node) return node; } +Node *skipBackNop(Node *node) +{ + while (node && node->nodeType == NOP_EXPR) + { + node = node->parent; + } + return node; +} + void mergeNullChecked(WalkItem &wi1, WalkItem &wi2) { wi1.checkedNullVars.insert(wi2.checkedNullVars.begin(), |