mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 17:54:13 +08:00
0efdb22823
genksyms currently does not handle va_list. Add the __builtin_va_list keyword as a type. This reduces the amount of syntax errors thrown, but so far no export symbol has a type with a va_list argument, so there is currently no bug in the end result. Note: this patch does not regenerate shipped parser files. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.com>
62 lines
1.6 KiB
Plaintext
62 lines
1.6 KiB
Plaintext
%language=ANSI-C
|
|
%define hash-function-name is_reserved_hash
|
|
%define lookup-function-name is_reserved_word
|
|
%{
|
|
struct resword;
|
|
static const struct resword *is_reserved_word(register const char *str, register unsigned int len);
|
|
%}
|
|
struct resword { const char *name; int token; }
|
|
%%
|
|
EXPORT_SYMBOL, EXPORT_SYMBOL_KEYW
|
|
EXPORT_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
|
|
EXPORT_SYMBOL_GPL_FUTURE, EXPORT_SYMBOL_KEYW
|
|
EXPORT_UNUSED_SYMBOL, EXPORT_SYMBOL_KEYW
|
|
EXPORT_UNUSED_SYMBOL_GPL, EXPORT_SYMBOL_KEYW
|
|
__asm, ASM_KEYW
|
|
__asm__, ASM_KEYW
|
|
__attribute, ATTRIBUTE_KEYW
|
|
__attribute__, ATTRIBUTE_KEYW
|
|
__const, CONST_KEYW
|
|
__const__, CONST_KEYW
|
|
__extension__, EXTENSION_KEYW
|
|
__inline, INLINE_KEYW
|
|
__inline__, INLINE_KEYW
|
|
__signed, SIGNED_KEYW
|
|
__signed__, SIGNED_KEYW
|
|
__typeof, TYPEOF_KEYW
|
|
__typeof__, TYPEOF_KEYW
|
|
__volatile, VOLATILE_KEYW
|
|
__volatile__, VOLATILE_KEYW
|
|
__builtin_va_list, VA_LIST_KEYW
|
|
# According to rth, c99 defines _Bool, __restrict, __restrict__, restrict. KAO
|
|
_Bool, BOOL_KEYW
|
|
_restrict, RESTRICT_KEYW
|
|
__restrict__, RESTRICT_KEYW
|
|
restrict, RESTRICT_KEYW
|
|
asm, ASM_KEYW
|
|
# attribute commented out in modutils 2.4.2. People are using 'attribute' as a
|
|
# field name which breaks the genksyms parser. It is not a gcc keyword anyway.
|
|
# KAO.
|
|
# attribute, ATTRIBUTE_KEYW
|
|
auto, AUTO_KEYW
|
|
char, CHAR_KEYW
|
|
const, CONST_KEYW
|
|
double, DOUBLE_KEYW
|
|
enum, ENUM_KEYW
|
|
extern, EXTERN_KEYW
|
|
float, FLOAT_KEYW
|
|
inline, INLINE_KEYW
|
|
int, INT_KEYW
|
|
long, LONG_KEYW
|
|
register, REGISTER_KEYW
|
|
short, SHORT_KEYW
|
|
signed, SIGNED_KEYW
|
|
static, STATIC_KEYW
|
|
struct, STRUCT_KEYW
|
|
typedef, TYPEDEF_KEYW
|
|
typeof, TYPEOF_KEYW
|
|
union, UNION_KEYW
|
|
unsigned, UNSIGNED_KEYW
|
|
void, VOID_KEYW
|
|
volatile, VOLATILE_KEYW
|