core: improve anding condition handling.
commit4eff961d813a5a087ece3bf0a728a23f50337a2a
authorDan Carpenter <error27@gmail.com>
Sat, 21 Mar 2009 11:19:27 +0000 (21 14:19 +0300)
committerDan Carpenter <error27@gmail.com>
Sat, 21 Mar 2009 11:19:27 +0000 (21 14:19 +0300)
tree8569d3ffd611dc948560be84a806b63abc314f21
parente1ff92e5b6230c4529d2f7c5728cda5552dc91a7
core:  improve anding condition handling.

The handling of merged states was obviously wrong before and so this is
an improvement.

It's a bit tricky because sometimes mutually exclusive states are
legit.
if (!foo && !(foo = kmalloc())) {

Sometimes when it complains about mutually exclusive states that
really does mean a condition is always false.  We set a lot of states
all the time because of implications.  I may remove the
"mutually exclusive" print statement again.

Signed-off-by: Dan Carpenter <error27@gmail.com>
smatch_implied.c
smatch_slist.c