X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=blobdiff_plain;f=config%2Fsymbol.c;h=6acf536c9726846913d4321460c946d3042d171d;hp=0f7eba7d472a6a762e154bbcfede05b0ef8044db;hb=61a529271314a6ed34ebaf1baa3aadf98769a52d;hpb=a5d5b673abfd2afc6c1f80d8e10aad63c3d265cd diff --git a/config/symbol.c b/config/symbol.c index 0f7eba7..6acf536 100644 --- a/config/symbol.c +++ b/config/symbol.c @@ -243,7 +243,7 @@ static void sym_calc_visibility(struct symbol *sym) tri = yes; if (sym->dir_dep.expr) tri = expr_calc_value(sym->dir_dep.expr); - if (tri == mod) + if (tri == mod && sym_get_type(sym) == S_BOOLEAN) tri = yes; if (sym->dir_dep.tri != tri) { sym->dir_dep.tri = tri; @@ -414,7 +414,7 @@ void sym_calc_value(struct symbol *sym) } } calc_newval: - if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) { + if (sym->dir_dep.tri < sym->rev_dep.tri) { struct expr *e; e = expr_simplify_unmet_dep(sym->rev_dep.expr, sym->dir_dep.expr);