type_val: improve the type/value information in the database
commit0fa6db5149c6757f1a4613931fb84bb446733cd3
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 24 Nov 2014 12:39:25 +0000 (24 15:39 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Mon, 24 Nov 2014 12:39:25 +0000 (24 15:39 +0300)
treecea491e26760db551b1d6ee8264337601b51b4da
parent8de4a23cdbecf18af45506f3cd177e9acf111fd8
type_val: improve the type/value information in the database

Smatch tries to record the possible values of "(struct whatever)->foo" in
the database.  The problem is that sometimes we store
"(struct whatever)->foo" into some other "void *bar".  This makes a link
between ->foo and bar so that if we get a ->foo out of bar, then we're
going to assume it's the same thing that we put there.

This works ok in testing.

Also I'm putting "ignored" in the function_type_value table just so I can
see which things are affected and to help debug any problems.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Makefile
smatch.h
smatch_data/db/fill_db_type_value.pl
smatch_type_links.c [new file with mode: 0644]
smatch_type_val.c