]> git.baikalelectronics.ru Git - kernel.git/commit
kconfig: fix line number in recursive inclusion error message
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 2 Mar 2018 07:05:12 +0000 (16:05 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 2 Mar 2018 15:44:47 +0000 (00:44 +0900)
commit49781a0791c825279e2558f3039886be8d9dd241
treefebbe828f00c4f8e8b3efb8194ee8b8e9de330de
parent08738c2e0d533915a77296931e9b9286921bb39c
kconfig: fix line number in recursive inclusion error message

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 the two fprintf() calls.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>
scripts/kconfig/zconf.l