Currently, warn_ignore_character() displays invalid file name and line number. The lexer should use current_file->name and yylineno, while the parser should use zconf_curname() and zconf_lineno(). This difference comes from that the lexer is always going ahead of the parser. The parser needs to look ahead one token to make a shift/reduce decision, so the lexer is requested to scan more text from the input file. This commit fixes the warning message from warn_ignored_character(). [Test Code] ----(Kconfig begin)---- / -----(Kconfig end)----- [Output] Before the fix: <none>:0:warning: ignoring unsupported character '/' After the fix: Kconfig:1:warning: ignoring unsupported character '/'
Showing the changes to scripts (1 of 1 file). Show all
Unified · Split
| @@ -73,7 +73,7 @@ static void warn_ignored_character(char chr) · 72 unmodified lines | ||
| 73 | 73 | { |
| 74 | 74 | fprintf(stderr, |
| 75 | 75 | "%s:%d:warning: ignoring unsupported character '%c'\n", |
| 76 | − zconf_curname(), zconf_lineno(), chr); | |
| 76 | + current_file->name, yylineno, chr); | |
| 77 | 77 | } |
| 78 | 78 | %} |
| 79 | 79 | |