1%{ 2struct resword; 3static const struct resword *is_reserved_word(register const char *str, register unsigned int len); 4%} 5struct resword { const char *name; int token; } 6%% 7EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW 8EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW 9EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW 10__asm, ASM_KEYW 11__asm__, ASM_KEYW 12__attribute, ATTRIBUTE_KEYW 13__attribute__, ATTRIBUTE_KEYW 14__const, CONST_KEYW 15__const__, CONST_KEYW 16__extension__, EXTENSION_KEYW 17__inline, INLINE_KEYW 18__inline__, INLINE_KEYW 19__signed, SIGNED_KEYW 20__signed__, SIGNED_KEYW 21__volatile, VOLATILE_KEYW 22__volatile__, VOLATILE_KEYW 23# According to rth, c99 defines _Bool, __restrict, __restrict__, restrict. KAO 24_Bool, BOOL_KEYW 25_restrict, RESTRICT_KEYW 26__restrict__, RESTRICT_KEYW 27restrict, RESTRICT_KEYW 28asm, ASM_KEYW 29# attribute commented out in modutils 2.4.2. People are using 'attribute' as a 30# field name which breaks the genksyms parser. It is not a gcc keyword anyway. 31# KAO. 32# attribute, ATTRIBUTE_KEYW 33auto, AUTO_KEYW 34char, CHAR_KEYW 35const, CONST_KEYW 36double, DOUBLE_KEYW 37enum, ENUM_KEYW 38extern, EXTERN_KEYW 39float, FLOAT_KEYW 40inline, INLINE_KEYW 41int, INT_KEYW 42long, LONG_KEYW 43register, REGISTER_KEYW 44short, SHORT_KEYW 45signed, SIGNED_KEYW 46static, STATIC_KEYW 47struct, STRUCT_KEYW 48typedef, TYPEDEF_KEYW 49union, UNION_KEYW 50unsigned, UNSIGNED_KEYW 51void, VOID_KEYW 52volatile, VOLATILE_KEYW 53typeof, TYPEOF_KEYW 54__typeof__, TYPEOF_KEYW 55