blob: 971e0113ae7a9a52e384df3cb5b51d6be276f8fb [file] [log] [blame]
Sam Ravnborg2ea03892009-01-14 21:38:20 +01001/* ANSI-C code produced by gperf version 3.0.2 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/* Command-line: gperf -L ANSI-C -a -C -E -g -H is_reserved_hash -k '1,3,$' -N is_reserved_word -p -t scripts/genksyms/keywords.gperf */
Sam Ravnborgc40f5642005-12-26 22:53:25 +01003
4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27/* The character set is not based on ISO-646. */
28#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
29#endif
30
31#line 1 "scripts/genksyms/keywords.gperf"
32
33#line 3 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -070034struct resword { const char *name; int token; };
Sam Ravnborg2ea03892009-01-14 21:38:20 +010035/* maximum key range = 62, duplicates = 0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070036
37#ifdef __GNUC__
38__inline
39#else
40#ifdef __cplusplus
41inline
42#endif
43#endif
44static unsigned int
45is_reserved_hash (register const char *str, register unsigned int len)
46{
47 static const unsigned char asso_values[] =
48 {
Sam Ravnborg2ea03892009-01-14 21:38:20 +010049 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
50 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
51 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
52 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
53 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
54 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
55 65, 65, 65, 65, 65, 65, 65, 65, 65, 5,
56 65, 65, 65, 65, 65, 65, 35, 65, 65, 65,
57 0, 65, 65, 65, 65, 65, 65, 65, 65, 65,
58 65, 65, 65, 65, 65, 0, 65, 0, 65, 5,
59 20, 15, 10, 30, 65, 15, 65, 65, 20, 0,
60 10, 35, 20, 65, 10, 5, 0, 10, 5, 65,
61 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
62 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
63 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
64 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
66 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
67 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
68 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
69 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
70 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
71 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
72 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
73 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
74 65, 65, 65, 65, 65, 65
Linus Torvalds1da177e2005-04-16 15:20:36 -070075 };
76 return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]];
77}
78
79#ifdef __GNUC__
80__inline
81#endif
82const struct resword *
83is_reserved_word (register const char *str, register unsigned int len)
84{
85 enum
86 {
Sam Ravnborg2ea03892009-01-14 21:38:20 +010087 TOTAL_KEYWORDS = 43,
Linus Torvalds1da177e2005-04-16 15:20:36 -070088 MIN_WORD_LENGTH = 3,
Greg Kroah-Hartman9f28bb72006-03-20 13:17:13 -080089 MAX_WORD_LENGTH = 24,
Sam Ravnborgc40f5642005-12-26 22:53:25 +010090 MIN_HASH_VALUE = 3,
Sam Ravnborg2ea03892009-01-14 21:38:20 +010091 MAX_HASH_VALUE = 64
Linus Torvalds1da177e2005-04-16 15:20:36 -070092 };
93
94 static const struct resword wordlist[] =
95 {
Sam Ravnborgc40f5642005-12-26 22:53:25 +010096 {""}, {""}, {""},
Sam Ravnborg2ea03892009-01-14 21:38:20 +010097#line 26 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +010098 {"asm", ASM_KEYW},
99 {""},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100100#line 8 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100101 {"__asm", ASM_KEYW},
102 {""},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100103#line 9 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 {"__asm__", ASM_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200105 {""}, {""},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100106#line 52 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107 {"__typeof__", TYPEOF_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200108 {""},
Jan Beulich9bb48242008-12-16 11:30:08 +0000109#line 12 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100110 {"__const", CONST_KEYW},
111#line 11 "scripts/genksyms/keywords.gperf"
112 {"__attribute__", ATTRIBUTE_KEYW},
113#line 13 "scripts/genksyms/keywords.gperf"
114 {"__const__", CONST_KEYW},
115#line 18 "scripts/genksyms/keywords.gperf"
116 {"__signed__", SIGNED_KEYW},
117#line 44 "scripts/genksyms/keywords.gperf"
118 {"static", STATIC_KEYW},
119#line 20 "scripts/genksyms/keywords.gperf"
120 {"__volatile__", VOLATILE_KEYW},
121#line 39 "scripts/genksyms/keywords.gperf"
122 {"int", INT_KEYW},
123#line 32 "scripts/genksyms/keywords.gperf"
124 {"char", CHAR_KEYW},
125#line 33 "scripts/genksyms/keywords.gperf"
126 {"const", CONST_KEYW},
127#line 45 "scripts/genksyms/keywords.gperf"
128 {"struct", STRUCT_KEYW},
129#line 24 "scripts/genksyms/keywords.gperf"
130 {"__restrict__", RESTRICT_KEYW},
131#line 25 "scripts/genksyms/keywords.gperf"
132 {"restrict", RESTRICT_KEYW},
133#line 23 "scripts/genksyms/keywords.gperf"
134 {"_restrict", RESTRICT_KEYW},
Jan Beulich9bb48242008-12-16 11:30:08 +0000135#line 16 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100136 {"__inline__", INLINE_KEYW},
137#line 10 "scripts/genksyms/keywords.gperf"
138 {"__attribute", ATTRIBUTE_KEYW},
139 {""},
140#line 14 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000141 {"__extension__", EXTENSION_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100142#line 35 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000143 {"enum", ENUM_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100144#line 19 "scripts/genksyms/keywords.gperf"
145 {"__volatile", VOLATILE_KEYW},
146#line 36 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000147 {"extern", EXTERN_KEYW},
148 {""},
Jan Beulich9bb48242008-12-16 11:30:08 +0000149#line 17 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100150 {"__signed", SIGNED_KEYW},
151#line 7 "scripts/genksyms/keywords.gperf"
152 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
153 {""},
154#line 51 "scripts/genksyms/keywords.gperf"
155 {"typeof", TYPEOF_KEYW},
156#line 46 "scripts/genksyms/keywords.gperf"
157 {"typedef", TYPEDEF_KEYW},
158#line 15 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000159 {"__inline", INLINE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100160#line 31 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000161 {"auto", AUTO_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100162#line 47 "scripts/genksyms/keywords.gperf"
163 {"union", UNION_KEYW},
164 {""}, {""},
165#line 48 "scripts/genksyms/keywords.gperf"
166 {"unsigned", UNSIGNED_KEYW},
167#line 49 "scripts/genksyms/keywords.gperf"
168 {"void", VOID_KEYW},
169#line 42 "scripts/genksyms/keywords.gperf"
170 {"short", SHORT_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200171 {""}, {""},
Jan Beulich9bb48242008-12-16 11:30:08 +0000172#line 50 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000173 {"volatile", VOLATILE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100174 {""},
175#line 37 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000176 {"float", FLOAT_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100177#line 34 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000178 {"double", DOUBLE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100179 {""},
180#line 5 "scripts/genksyms/keywords.gperf"
181 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
182 {""}, {""},
183#line 38 "scripts/genksyms/keywords.gperf"
184 {"inline", INLINE_KEYW},
185#line 6 "scripts/genksyms/keywords.gperf"
186 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
187#line 41 "scripts/genksyms/keywords.gperf"
188 {"register", REGISTER_KEYW},
189 {""},
190#line 22 "scripts/genksyms/keywords.gperf"
191 {"_Bool", BOOL_KEYW},
192#line 43 "scripts/genksyms/keywords.gperf"
193 {"signed", SIGNED_KEYW},
194 {""}, {""},
195#line 40 "scripts/genksyms/keywords.gperf"
196 {"long", LONG_KEYW}
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197 };
198
199 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
200 {
201 register int key = is_reserved_hash (str, len);
202
203 if (key <= MAX_HASH_VALUE && key >= 0)
204 {
205 register const char *s = wordlist[key].name;
206
207 if (*str == *s && !strcmp (str + 1, s + 1))
208 return &wordlist[key];
209 }
210 }
211 return 0;
212}