kconfig: use yylineno option instead of manual lineno increments
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 22 Mar 2018 17:00:14 +0000 (02:00 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sun, 25 Mar 2018 17:04:07 +0000 (02:04 +0900)
commit18492685e479fd4d8e1dca836f57c11b6800f083
treeaab2d26d2fef07d1b5009645ca16c766e4f7c90d
parent379a8eb8eb1a55344e1cf976fa589a12c68b60a7
kconfig: use yylineno option instead of manual lineno increments

Tracking the line number by hand is error-prone since you need to
increment it in every \n matching pattern.

If '%option yylineno' is set, flex defines 'yylineno' to contain the
current line number and automatically updates it each time it reads a
\n character.  This is much more convenient although the lexer does
not initializes yylineno, so you need to set it to 1 each time you
start reading a new file, and restore it you go back to the previous
file.

I tested this with DEBUG_PARSE, and confirmed the same dump message
was produced.

I removed the perf-report option.  Otherwise, I see the following
message:
  %option yylineno entails a performance penalty ONLY on rules that
  can match newline characters

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/kconfig/lkc.h
scripts/kconfig/zconf.l