Hi Catalin, On Wed, Sep 22, 2010 at 7:08 AM, Catalin Marinas <catalin.marinas@xxxxxxx> wrote: > In your patch, could you also remove the additional expr_copy() when > transforming dir_dep (my first patch which wasn't solving the problem > but an extra copy is superfluous). > isn't there more superfluous stuff ? The following: diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c index 4fb5902..176618a 100644 --- a/scripts/kconfig/menu.c +++ b/scripts/kconfig/menu.c @@ -107,7 +107,6 @@ static struct expr *menu_check_dep(struct expr *e) void menu_add_dep(struct expr *dep) { current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep)); - current_entry->dir_dep = current_entry->dep; } void menu_set_type(int type) @@ -292,8 +291,7 @@ void menu_finalize(struct menu *parent) menu_finalize(menu); } else if (sym) { /* ignore inherited dependencies for dir_dep */ - sym->dir_dep.expr = expr_transform(expr_copy(parent->dir_dep)); - sym->dir_dep.expr = expr_eliminate_dups(sym->dir_dep.expr); + sym->dir_dep = parent->dep; basedep = parent->prompt ? parent->prompt->visible.expr : NULL; basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no); still seems not to introduce regression, ie. same output with `silentoldconfig' based on a `randconfig' with this or with the previous I submitted. The "expr_eliminate_dups(expr_transform(parent->dep))" has already been done when computing `basedep'. Thanks, - Arnaud -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html