aboutsummaryrefslogtreecommitdiff
path: root/scripts/parse_kconfig
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2015-05-04 21:57:57 +0200
committerKarel Kočí <cynerd@email.cz>2015-05-04 21:57:57 +0200
commit873c7efe496cfd2398b750a616781a5234ae3c6b (patch)
tree9168ca91839b74dccf94933312a06293d6199efb /scripts/parse_kconfig
parentd837647515b59137a837c3f67dacfc9b7ad3e981 (diff)
downloadlinux-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.c9
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);