kconfig: fix line numbers for if-entries in menu tree
diff mbox

Message ID 20180621133054.21090-1-dirk@gouders.net
State New
Headers show

Commit Message

Dirk Gouders June 21, 2018, 1:30 p.m. UTC
The line numers for if-entries in the menu tree are off by one or more
lines which is confusing when debugging for correctness of unrelated changes.

According to the git log, commit a02f0570ae201c49 (kconfig: improve
error handling in the parser) was the last one that changed that part
of the parser and replaced

	"if_entry: T_IF expr T_EOL"
by
	"if_entry: T_IF expr nl"

but the commit message does not state why this has been done.

When reverting that part of the commit, only the line numers are
corrected (checked with cdebug = DEBUG_PARSE in zconf.y), otherwise
the menu tree remains unchanged (checked with zconfdump() enabled in
conf.c).

An example for the corrected line numbers:

drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
drivers/soc/tegra/Kconfig:4:if
drivers/soc/tegra/Kconfig:6:if

changes to:

drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
drivers/soc/tegra/Kconfig:1:if
drivers/soc/tegra/Kconfig:4:if

Signed-off-by: Dirk Gouders <dirk@gouders.net>

---
 scripts/kconfig/zconf.y | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Masahiro Yamada June 22, 2018, 6:04 p.m. UTC | #1
2018-06-21 22:30 GMT+09:00 Dirk Gouders <dirk@gouders.net>:
> The line numers for if-entries in the menu tree are off by one or more
> lines which is confusing when debugging for correctness of unrelated changes.
>
> According to the git log, commit a02f0570ae201c49 (kconfig: improve
> error handling in the parser) was the last one that changed that part
> of the parser and replaced
>
>         "if_entry: T_IF expr T_EOL"
> by
>         "if_entry: T_IF expr nl"
>
> but the commit message does not state why this has been done.
>
> When reverting that part of the commit, only the line numers are
> corrected (checked with cdebug = DEBUG_PARSE in zconf.y), otherwise
> the menu tree remains unchanged (checked with zconfdump() enabled in
> conf.c).
>
> An example for the corrected line numbers:
>
> drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
> drivers/soc/tegra/Kconfig:4:if
> drivers/soc/tegra/Kconfig:6:if
>
> changes to:
>
> drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
> drivers/soc/tegra/Kconfig:1:if
> drivers/soc/tegra/Kconfig:4:if
>
> Signed-off-by: Dirk Gouders <dirk@gouders.net>

Applied to linux-kbuild/fixes.  Thanks!



> ---
>  scripts/kconfig/zconf.y | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
> index 6f9b0aa32a82..ed84d4a8e288 100644
> --- a/scripts/kconfig/zconf.y
> +++ b/scripts/kconfig/zconf.y
> @@ -31,7 +31,7 @@ struct symbol *symbol_hash[SYMBOL_HASHSIZE];
>  static struct menu *current_menu, *current_entry;
>
>  %}
> -%expect 32
> +%expect 31
>
>  %union
>  {
> @@ -337,7 +337,7 @@ choice_block:
>
>  /* if entry */
>
> -if_entry: T_IF expr nl
> +if_entry: T_IF expr T_EOL
>  {
>         printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
>         menu_add_entry(NULL);
> --
> 2.13.6
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
index 6f9b0aa32a82..ed84d4a8e288 100644
--- a/scripts/kconfig/zconf.y
+++ b/scripts/kconfig/zconf.y
@@ -31,7 +31,7 @@  struct symbol *symbol_hash[SYMBOL_HASHSIZE];
 static struct menu *current_menu, *current_entry;
 
 %}
-%expect 32
+%expect 31
 
 %union
 {
@@ -337,7 +337,7 @@  choice_block:
 
 /* if entry */
 
-if_entry: T_IF expr nl
+if_entry: T_IF expr T_EOL
 {
 	printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
 	menu_add_entry(NULL);