The __attribute__ keyword can appear in more contexts than 'const' or
'volatile'.
To avoid grammatical conflicts with future changes, ATTRIBUTE_PHRASE
should not be reduced into type_qualifier.
No functional changes are intended.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Nicolas Schier <n.schier@avm.de>
                }
        | type_specifier        { dont_want_type_specifier = true; $$ = $1; }
        | type_qualifier
+       | ATTRIBUTE_PHRASE
        ;
 
 storage_class_specifier:
 
 type_qualifier_seq:
        type_qualifier
+       | ATTRIBUTE_PHRASE
        | type_qualifier_seq type_qualifier             { $$ = $2; }
+       | type_qualifier_seq ATTRIBUTE_PHRASE           { $$ = $2; }
        ;
 
 type_qualifier:
-       CONST_KEYW | VOLATILE_KEYW | ATTRIBUTE_PHRASE
+       CONST_KEYW | VOLATILE_KEYW
        | RESTRICT_KEYW
                { /* restrict has no effect in prototypes so ignore it */
                  remove_node($1);