diff options
author | Karel Kočí <cynerd@email.cz> | 2015-05-04 21:57:57 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2015-05-04 21:57:57 +0200 |
commit | 873c7efe496cfd2398b750a616781a5234ae3c6b (patch) | |
tree | 9168ca91839b74dccf94933312a06293d6199efb /scripts/parse_kconfig | |
parent | d837647515b59137a837c3f67dacfc9b7ad3e981 (diff) | |
download | linux-conf-perf-873c7efe496cfd2398b750a616781a5234ae3c6b.tar.gz linux-conf-perf-873c7efe496cfd2398b750a616781a5234ae3c6b.tar.bz2 linux-conf-perf-873c7efe496cfd2398b750a616781a5234ae3c6b.zip |
parse_kconfig fix problem with generated rules
Generated rules were unsatisfiable all the time.
Problem was default value of vis variable.
Diffstat (limited to 'scripts/parse_kconfig')
-rw-r--r-- | scripts/parse_kconfig/parse.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/scripts/parse_kconfig/parse.c b/scripts/parse_kconfig/parse.c index b7ab951..f8a2401 100644 --- a/scripts/parse_kconfig/parse.c +++ b/scripts/parse_kconfig/parse.c @@ -105,12 +105,15 @@ void cpy_dep() { if (prop->visible.expr != NULL) { doutput_expr(prop->visible.expr); struct boolexpr *vis = - boolexpr_kconfig(gsymlist, prop->visible.expr, false); + boolexpr_kconfig(gsymlist, prop->visible.expr, + false); if (el->vis == NULL) { el->vis = vis; } else { el->vis = boolexpr_or(el->vis, vis); } + } else if (el->vis == NULL) { + el->vis = boolexpr_true(); } } if (el->vis == NULL) @@ -234,8 +237,8 @@ void cpy_dep() { w4 = boolexpr_or(w4, el->vis); pw = boolexpr_and(w1, w2); - pw = boolexpr_and(pw, w3); - pw = boolexpr_and(pw, w4); + pw = boolexpr_and(w3, pw); + pw = boolexpr_and(w4, pw); Dprintf(" CNF:\n"); doutput_boolexpr(pw, gsymlist); cnf_boolexpr(gsymlist, pw); |