struct_assignment: save a lot more information
commit305ea4ab0a22e12917efee4cb3bd91bd510ccba8
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 30 Mar 2015 10:10:47 +0000 (30 13:10 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Mon, 30 Mar 2015 10:10:47 +0000 (30 13:10 +0300)
tree5b656d100837894c4601bab272f0e5c022cd7b12
parent852bdda3346bf7fd2efd25571c24c8a3e409506a
struct_assignment: save a lot more information

This was not saving nested struct members like foo->bar-baz.  Also unions
members were not saved.

The disadvantage of this change is that it means smatch uses more memory
and is slower.  I have worked pretty hard to cut down on memory usage to
prepare for this change, and I've been running this code myself for a
while and it basically works.  In the old code we saved memory but by
ignoring stuff randomly, the right way is to ignore stuff in a deliberate
way if necessary.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch_struct_assignment.c