]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - scripts/genksyms/parse.y
pata_sis: Remove bogus cable match
[linux-2.6-omap-h63xx.git] / scripts / genksyms / parse.y
index 099043713db499412e8e7b4ef8309115be06df3e..10d7dc724b6d692a3ea283c4e0756798b03f73d6 100644 (file)
@@ -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
@@ -197,6 +200,7 @@ storage_class_specifier:
 type_specifier:
        simple_type_specifier
        | cvar_qualifier
+       | TYPEOF_KEYW '(' decl_specifier_seq '*' ')'
        | TYPEOF_KEYW '(' decl_specifier_seq ')'
 
        /* References to s/u/e's defined elsewhere.  Rearrange things
@@ -442,7 +446,7 @@ member_bitfield_declarator:
 
 attribute_opt:
        /* empty */                                     { $$ = NULL; }
-       | ATTRIBUTE_PHRASE
+       | attribute_opt ATTRIBUTE_PHRASE
        ;
 
 asm_definition: