Re: kconfig: error out if recursive dependencies are found

From: Sam Ravnborg
Date: Mon May 07 2007 - 15:36:21 EST


On Mon, May 07, 2007 at 02:38:36AM +0200, Roman Zippel wrote:
> Hi,
>
> On Sun, 6 May 2007, Sam Ravnborg wrote:
>
> > if (sym->flags & SYMBOL_CHECK) {
> > - printf("Warning! Found recursive dependency: %s", sym->name);
> > + fprintf(stderr, "%s:%d:error: found recursive dependency: %s",
> > + sym->prop->file->name, sym->prop->lineno, sym->name);
> > return sym;
> > }
>
> If it were that simple to print the location, I had done it already. :)
> Try this:
>
> config FOO
> bool
> select BAR
> depends on BAR
>
> config BAR
> bool
>
> I looked into this before, for simple properties one could just remember
> the last checked property via a static variable. The problem are the
> selects which are checked before that loop, here the information from
> where they were selected is not available anymore (at least not easily).

We need to point out _one_ of the faulty spots only.
But I see that kconfig records file:line for properties and menu entries
but not for symbols.
Any special reason why file:line is omitted for symbols (except size of allocated
memory)?

Without looking into details it looks more relevant to have file:line for symbols
rather than for prompts / properties..

Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/