summaryrefslogtreecommitdiff
path: root/src/analysis/ref.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2019-03-07 22:28:25 +0300
committerAndrei Karas <akaras@inbox.ru>2019-03-07 22:29:19 +0300
commit3a7fc8e3bf44b97fc584a295ead0534900851b0b (patch)
tree2c64216bdfcf213c781ede8e7d80c21a6d686997 /src/analysis/ref.cpp
parentfedd0814d585b2d58695375a12b9fdca55de9f5e (diff)
downloadparanucker-3a7fc8e3bf44b97fc584a295ead0534900851b0b.tar.gz
paranucker-3a7fc8e3bf44b97fc584a295ead0534900851b0b.tar.bz2
paranucker-3a7fc8e3bf44b97fc584a295ead0534900851b0b.tar.xz
paranucker-3a7fc8e3bf44b97fc584a295ead0534900851b0b.zip
Add GOTO_EXPR
Some uncommited old changes...
Diffstat (limited to 'src/analysis/ref.cpp')
-rw-r--r--src/analysis/ref.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/analysis/ref.cpp b/src/analysis/ref.cpp
index 2391fa3..f2fcb21 100644
--- a/src/analysis/ref.cpp
+++ b/src/analysis/ref.cpp
@@ -24,6 +24,7 @@
#include "analysis/analysis.h"
#include "analysis/reports.h"
+#include "analysis/varitem.h"
#include "analysis/walkitem.h"
#include "nodes/expr/addr_expr.h"
@@ -68,10 +69,25 @@ void analyseArrayRef(ArrayRefNode *node,
if (node->args.empty() || checkCommand(FindArgs))
return;
+// if (isIn("cell", wi.knownNonNullVars))
+// Log::log("cell ok1\n");
+// else
+// Log::log("cell not ok1\n");
+
+// Log::log("array start\n");
FOR_EACH(it, node->args)
{
- reportParmDeclNullPointer(node, it, wi);
+ VarItem var = getVariableName(it);
+ if (!var.isNonNull && isNotIn(var.name, wo.knownNonNullVars))
+ reportParmDeclNullPointer(node, it, wi);
}
+
+// if (isIn("cell", wi.knownNonNullVars))
+// Log::log("cell ok1\n");
+// else
+// Log::log("cell not ok1\n");
+
+// Log::log("array end\n");
}
}