Commit 3aea311c authored by Linus Torvalds's avatar Linus Torvalds

genksyms: fix gperf removal conversion

I had stupidly missed one special use of 'is_reserved_word()' when I
converted the code to avoid gperf.

I had changed that function to return the token ID directly rather than
a pointer to the token descriptor structure, but that meant that the
test for "is this a reserved word" changed from checking the return
value against NULL, to checking that it wasn't negative.

And while I had converted the main token parser over, I missed the
special case of the typeof phrase handling.  And since our dependency
chain for genksyms does not include the genksyms program itself
changing, my kernel rebuild didn't show the problem.

Fixes: bb3290d9 ("Remove gperf usage from toolchain")
Reported-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 015a9e66
...@@ -292,7 +292,7 @@ repeat: ...@@ -292,7 +292,7 @@ repeat:
case ST_TYPEOF_1: case ST_TYPEOF_1:
if (token == IDENT) if (token == IDENT)
{ {
if (is_reserved_word(yytext, yyleng) if (is_reserved_word(yytext, yyleng) >= 0
|| find_symbol(yytext, SYM_TYPEDEF, 1)) || find_symbol(yytext, SYM_TYPEDEF, 1))
{ {
yyless(0); yyless(0);
......
...@@ -2101,7 +2101,7 @@ repeat: ...@@ -2101,7 +2101,7 @@ repeat:
case ST_TYPEOF_1: case ST_TYPEOF_1:
if (token == IDENT) if (token == IDENT)
{ {
if (is_reserved_word(yytext, yyleng) if (is_reserved_word(yytext, yyleng) >= 0
|| find_symbol(yytext, SYM_TYPEDEF, 1)) || find_symbol(yytext, SYM_TYPEDEF, 1))
{ {
yyless(0); yyless(0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment