@@ -216,6 +216,7 @@ decl_specifier:
}
| type_specifier { dont_want_type_specifier = true; $$ = $1; }
| type_qualifier
+ | ATTRIBUTE_PHRASE
;
storage_class_specifier:
@@ -285,11 +286,13 @@ type_qualifier_seq_opt:
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);
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> --- scripts/genksyms/parse.y | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)