diff --git a/scripts/genksyms/keywords.gperf b/scripts/genksyms/keywords.gperf index c75e0c8d8f0c..5ef3733225fb 100644 --- a/scripts/genksyms/keywords.gperf +++ b/scripts/genksyms/keywords.gperf @@ -11,6 +11,7 @@ __attribute, ATTRIBUTE_KEYW __attribute__, ATTRIBUTE_KEYW __const, CONST_KEYW __const__, CONST_KEYW +__extension__, EXTENSION_KEYW __inline, INLINE_KEYW __inline__, INLINE_KEYW __signed, SIGNED_KEYW diff --git a/scripts/genksyms/parse.y b/scripts/genksyms/parse.y index ca04c944b7c3..408cdf82b271 100644 --- a/scripts/genksyms/parse.y +++ b/scripts/genksyms/parse.y @@ -61,6 +61,7 @@ remove_list(struct string_list **pb, struct string_list **pe) %token DOUBLE_KEYW %token ENUM_KEYW %token EXTERN_KEYW +%token EXTENSION_KEYW %token FLOAT_KEYW %token INLINE_KEYW %token INT_KEYW @@ -110,7 +111,9 @@ declaration: ; declaration1: - TYPEDEF_KEYW { is_typedef = 1; } simple_declaration + EXTENSION_KEYW TYPEDEF_KEYW { is_typedef = 1; } simple_declaration + { $$ = $4; } + | TYPEDEF_KEYW { is_typedef = 1; } simple_declaration { $$ = $3; } | simple_declaration | function_definition