|
|
@ -400,18 +400,10 @@ void sym_calc_value(struct symbol *sym)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
calc_newval:
|
|
|
|
calc_newval:
|
|
|
|
if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) {
|
|
|
|
if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) {
|
|
|
|
struct expr *e;
|
|
|
|
newval.tri = no;
|
|
|
|
e = expr_simplify_unmet_dep(sym->rev_dep.expr,
|
|
|
|
} else {
|
|
|
|
sym->dir_dep.expr);
|
|
|
|
newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
|
|
|
|
fprintf(stderr, "warning: (");
|
|
|
|
|
|
|
|
expr_fprint(e, stderr);
|
|
|
|
|
|
|
|
fprintf(stderr, ") selects %s which has unmet direct dependencies (",
|
|
|
|
|
|
|
|
sym->name);
|
|
|
|
|
|
|
|
expr_fprint(sym->dir_dep.expr, stderr);
|
|
|
|
|
|
|
|
fprintf(stderr, ")\n");
|
|
|
|
|
|
|
|
expr_free(e);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
|
|
|
|
if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
|
|
|
|
newval.tri = yes;
|
|
|
|
newval.tri = yes;
|
|
|
|