When handling qualifiers, the corresponding symbol is looked-up with lookup_symbol() then it's checked if the symbol's type is SYM_KEYWORD. But, only if the identifier is a keyword (struct ident::keyword) can the symbol be a SYM_KEYWORD. Thus, non-keyword can be filtered-out early by using lookup_keyword(). So change the call to lookup_symbol() by a call to lookup_keyword(). Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parse.c b/parse.c index b07237eee0bf..19520eaebf38 100644 --- a/parse.c +++ b/parse.c @@ -1618,7 +1618,7 @@ struct symbol *ctype_integer(int size, int want_unsigned) static struct token *handle_qualifiers(struct token *t, struct decl_state *ctx) { while (token_type(t) == TOKEN_IDENT) { - struct symbol *s = lookup_symbol(t->ident, NS_TYPEDEF); + struct symbol *s = lookup_keyword(t->ident, NS_TYPEDEF); if (!s) break; if (s->type != SYM_KEYWORD) -- 2.28.0