diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2012-08-18 20:44:06 +0200 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2012-08-18 20:44:06 +0200 |
commit | d1a0a267af8e304ff1fa92942ae779c6c61ebe14 (patch) | |
tree | a476b309ab6de2500aa6d8fd9502e76c8d1207a1 /scripts/kconfig/symbol.c | |
parent | 293c4218e2cf1c15b777d3fe2e91b78ee9c621f2 (diff) | |
download | embtoolkit-d1a0a267af8e304ff1fa92942ae779c6c61ebe14.tar.gz embtoolkit-d1a0a267af8e304ff1fa92942ae779c6c61ebe14.tar.bz2 embtoolkit-d1a0a267af8e304ff1fa92942ae779c6c61ebe14.tar.xz |
Build system: import kconfig from upstream 20fb1936dee63fe397236d4ff3fd253a62b7b0b8
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
Diffstat (limited to 'scripts/kconfig/symbol.c')
-rw-r--r-- | scripts/kconfig/symbol.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index 071f00c..22a3c40 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c @@ -262,11 +262,18 @@ static struct symbol *sym_calc_choice(struct symbol *sym) struct symbol *def_sym; struct property *prop; struct expr *e; + int flags; /* first calculate all choice values' visibilities */ + flags = sym->flags; prop = sym_get_choice_prop(sym); - expr_list_for_each_sym(prop->expr, e, def_sym) + expr_list_for_each_sym(prop->expr, e, def_sym) { sym_calc_visibility(def_sym); + if (def_sym->visible != no) + flags &= def_sym->flags; + } + + sym->flags &= flags | ~SYMBOL_DEF_USER; /* is the user choice visible? */ def_sym = sym->def[S_DEF_USER].val; |