From 3138fb5906ea21c86d62f3469a36b339350d9b55 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Thu, 14 Jun 2018 11:32:11 +0300 Subject: [PATCH] extra: just set sval assignments directly There was a conflict here with some recent changes to the smatch_comparison. It turns out comparisons has some bugs. But this change is also intuitive. Signed-off-by: Dan Carpenter --- smatch_extra.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/smatch_extra.c b/smatch_extra.c index ba47057d..6f4d90ce 100644 --- a/smatch_extra.c +++ b/smatch_extra.c @@ -890,7 +890,7 @@ static void match_vanilla_assign(struct expression *left, struct expression *rig char *right_name = NULL; struct symbol *sym; char *name; - sval_t max; + sval_t sval, max; struct smatch_state *state; int comparison; @@ -925,6 +925,11 @@ static void match_vanilla_assign(struct expression *left, struct expression *rig goto done; } + if (get_implied_value(right, &sval)) { + state = alloc_estate_sval(sval_cast(left_type, sval)); + goto done; + } + if (__in_fake_assign) { struct smatch_state *right_state; sval_t sval; -- 2.11.4.GIT