summaryrefslogtreecommitdiff
path: root/src/analysis/analysis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/analysis.cpp')
-rw-r--r--src/analysis/analysis.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/analysis/analysis.cpp b/src/analysis/analysis.cpp
index 3d7a9de..a4d7aad 100644
--- a/src/analysis/analysis.cpp
+++ b/src/analysis/analysis.cpp
@@ -34,6 +34,7 @@
#include "nodes/expr/addr_expr.h"
#include "nodes/expr/modify_expr.h"
+#include "nodes/expr/nop_expr.h"
#include "nodes/expr/pointerplus_expr.h"
#include "nodes/ref/component_ref.h"
@@ -116,6 +117,19 @@ void reportParmDeclNullPointer(Node *mainNode,
}
}
+Node *skipNop(Node *node)
+{
+ while (node && node->nodeType == NOP_EXPR)
+ {
+ NopExprNode *nop = static_cast<NopExprNode*>(node);
+ if (nop && !nop->args.empty())
+ node = nop->args[0];
+ else
+ return nop;
+ }
+ return node;
+}
+
void analyseNode(Node *node, const WalkItem &wi, WalkItem &wo)
{
if (!node)