Messages in this thread Patch in this message | | | From | Masahiro Yamada <> | Subject | [PATCH] kconfig: fix line number in recursive inclusion error message | Date | Fri, 2 Mar 2018 16:05:12 +0900 |
| |
When recursive inclusion is detected, the line number of the last 'included from:' is wrong.
[Test Case]
Kconfig: -------->8-------- source "Kconfig2" -------->8--------
Kconfig2: -------->8-------- source "Kconfig3" -------->8--------
Kconfig3: -------->8-------- source "Kconfig" -------->8--------
[Result]
$ make allyesconfig scripts/kconfig/conf --allyesconfig Kconfig Kconfig:1: recursive inclusion detected. Inclusion path: current file : 'Kconfig' included from: 'Kconfig3:1' included from: 'Kconfig2:1' included from: 'Kconfig:3' scripts/kconfig/Makefile:89: recipe for target 'allyesconfig' failed make[1]: *** [allyesconfig] Error 1 Makefile:512: recipe for target 'allyesconfig' failed make: *** [allyesconfig] Error 2
where we expect
current file : 'Kconfig' included from: 'Kconfig3:1' included from: 'Kconfig2:1' included from: 'Kconfig:1'
The 'iter->lineno+1' in the second fpinrtf() should be 'iter->lineno-1'. I refactored the code to merge two fprintf().
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> ---
scripts/kconfig/zconf.l | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l index 02de6fe..88b650e 100644 --- a/scripts/kconfig/zconf.l +++ b/scripts/kconfig/zconf.l @@ -332,16 +332,12 @@ void zconf_nextfile(const char *name) "Inclusion path:\n current file : '%s'\n", zconf_curname(), zconf_lineno(), zconf_curname()); - iter = current_file->parent; - while (iter && \ - strcmp(iter->name,current_file->name)) { - fprintf(stderr, " included from: '%s:%d'\n", - iter->name, iter->lineno-1); + iter = current_file; + do { iter = iter->parent; - } - if (iter) fprintf(stderr, " included from: '%s:%d'\n", - iter->name, iter->lineno+1); + iter->name, iter->lineno - 1); + } while (strcmp(iter->name, current_file->name)); exit(1); } } -- 2.7.4
| |