blob: ee4647805c586b18e08549aca340f570d35aafdc [file] [log] [blame]
Sam Ravnborgc40f5642005-12-26 22:53:25 +01001/* ANSI-C code produced by gperf version 3.0.1 */
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 Ravnborgc40f5642005-12-26 22:53:25 +010035/* maximum key range = 68, 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 Ravnborgc40f5642005-12-26 22:53:25 +010049 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
50 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
51 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
52 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
53 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
54 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
55 71, 71, 71, 71, 71, 71, 71, 71, 71, 15,
56 71, 71, 71, 71, 71, 71, 15, 71, 71, 71,
57 10, 71, 71, 71, 71, 71, 71, 71, 71, 71,
58 71, 71, 71, 71, 71, 0, 71, 0, 71, 5,
59 5, 0, 10, 20, 71, 25, 71, 71, 20, 0,
60 20, 30, 25, 71, 10, 5, 0, 20, 15, 71,
61 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
62 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
63 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
64 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
65 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
66 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
67 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
68 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
69 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
70 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
71 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
72 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
73 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
74 71, 71, 71, 71, 71, 71
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 {
87 TOTAL_KEYWORDS = 41,
88 MIN_WORD_LENGTH = 3,
89 MAX_WORD_LENGTH = 17,
Sam Ravnborgc40f5642005-12-26 22:53:25 +010090 MIN_HASH_VALUE = 3,
91 MAX_HASH_VALUE = 70
Linus Torvalds1da177e2005-04-16 15:20:36 -070092 };
93
94 static const struct resword wordlist[] =
95 {
Sam Ravnborgc40f5642005-12-26 22:53:25 +010096 {""}, {""}, {""},
97#line 24 "scripts/genksyms/keywords.gperf"
98 {"asm", ASM_KEYW},
99 {""},
100#line 7 "scripts/genksyms/keywords.gperf"
101 {"__asm", ASM_KEYW},
102 {""},
103#line 8 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 {"__asm__", ASM_KEYW},
105 {""},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100106#line 21 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107 {"_restrict", RESTRICT_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100108#line 50 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109 {"__typeof__", TYPEOF_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100110#line 9 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700111 {"__attribute", ATTRIBUTE_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100112#line 11 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 {"__const", CONST_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100114#line 10 "scripts/genksyms/keywords.gperf"
115 {"__attribute__", ATTRIBUTE_KEYW},
116#line 12 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117 {"__const__", CONST_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100118#line 16 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119 {"__signed__", SIGNED_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100120#line 42 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121 {"static", STATIC_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100122 {""},
123#line 15 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124 {"__signed", SIGNED_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100125#line 30 "scripts/genksyms/keywords.gperf"
126 {"char", CHAR_KEYW},
127 {""},
128#line 43 "scripts/genksyms/keywords.gperf"
129 {"struct", STRUCT_KEYW},
130#line 22 "scripts/genksyms/keywords.gperf"
131 {"__restrict__", RESTRICT_KEYW},
132#line 23 "scripts/genksyms/keywords.gperf"
133 {"restrict", RESTRICT_KEYW},
134#line 33 "scripts/genksyms/keywords.gperf"
135 {"enum", ENUM_KEYW},
136#line 17 "scripts/genksyms/keywords.gperf"
137 {"__volatile", VOLATILE_KEYW},
138#line 34 "scripts/genksyms/keywords.gperf"
139 {"extern", EXTERN_KEYW},
140#line 18 "scripts/genksyms/keywords.gperf"
141 {"__volatile__", VOLATILE_KEYW},
142#line 37 "scripts/genksyms/keywords.gperf"
143 {"int", INT_KEYW},
144 {""},
145#line 31 "scripts/genksyms/keywords.gperf"
146 {"const", CONST_KEYW},
147#line 32 "scripts/genksyms/keywords.gperf"
148 {"double", DOUBLE_KEYW},
149 {""},
150#line 13 "scripts/genksyms/keywords.gperf"
151 {"__inline", INLINE_KEYW},
152#line 29 "scripts/genksyms/keywords.gperf"
153 {"auto", AUTO_KEYW},
154#line 14 "scripts/genksyms/keywords.gperf"
155 {"__inline__", INLINE_KEYW},
156#line 41 "scripts/genksyms/keywords.gperf"
157 {"signed", SIGNED_KEYW},
158 {""},
159#line 46 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700160 {"unsigned", UNSIGNED_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100161 {""},
162#line 40 "scripts/genksyms/keywords.gperf"
163 {"short", SHORT_KEYW},
164#line 49 "scripts/genksyms/keywords.gperf"
165 {"typeof", TYPEOF_KEYW},
166#line 44 "scripts/genksyms/keywords.gperf"
167 {"typedef", TYPEDEF_KEYW},
168#line 48 "scripts/genksyms/keywords.gperf"
169 {"volatile", VOLATILE_KEYW},
170 {""},
171#line 35 "scripts/genksyms/keywords.gperf"
172 {"float", FLOAT_KEYW},
173 {""}, {""},
174#line 39 "scripts/genksyms/keywords.gperf"
175 {"register", REGISTER_KEYW},
176#line 47 "scripts/genksyms/keywords.gperf"
177 {"void", VOID_KEYW},
178 {""},
179#line 36 "scripts/genksyms/keywords.gperf"
180 {"inline", INLINE_KEYW},
181 {""},
182#line 5 "scripts/genksyms/keywords.gperf"
183 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
184 {""},
185#line 20 "scripts/genksyms/keywords.gperf"
186 {"_Bool", BOOL_KEYW},
187 {""},
188#line 6 "scripts/genksyms/keywords.gperf"
189 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
190 {""}, {""}, {""}, {""}, {""}, {""},
191#line 38 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700192 {"long", LONG_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100193 {""}, {""}, {""}, {""}, {""},
194#line 45 "scripts/genksyms/keywords.gperf"
195 {"union", UNION_KEYW}
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196 };
197
198 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
199 {
200 register int key = is_reserved_hash (str, len);
201
202 if (key <= MAX_HASH_VALUE && key >= 0)
203 {
204 register const char *s = wordlist[key].name;
205
206 if (*str == *s && !strcmp (str + 1, s + 1))
207 return &wordlist[key];
208 }
209 }
210 return 0;
211}