blob: 83484fe93edeb4f0cb4e1ed2b6fcb37c2a52ffd2 [file] [log] [blame]
Jan Beulich9bb48242008-12-16 11:30:08 +00001/* 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; };
Jan Beulich9bb48242008-12-16 11:30:08 +000035/* maximum key range = 64, 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 {
Jan Beulich9bb48242008-12-16 11:30:08 +000049 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
50 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
51 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
52 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
53 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
54 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
55 67, 67, 67, 67, 67, 67, 67, 67, 67, 0,
56 67, 67, 67, 67, 67, 67, 15, 67, 67, 67,
57 0, 67, 67, 67, 67, 67, 67, 67, 67, 67,
58 67, 67, 67, 67, 67, 0, 67, 0, 67, 5,
59 25, 20, 15, 30, 67, 15, 67, 67, 10, 0,
60 10, 40, 20, 67, 10, 5, 0, 10, 15, 67,
61 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
62 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
63 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
64 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
65 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
66 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
67 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
68 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
69 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
70 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
71 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
72 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
73 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
74 67, 67, 67, 67, 67, 67
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 {
Jan Beulich9bb48242008-12-16 11:30:08 +000087 TOTAL_KEYWORDS = 45,
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,
Jan Beulich9bb48242008-12-16 11:30:08 +000091 MAX_HASH_VALUE = 66
Linus Torvalds1da177e2005-04-16 15:20:36 -070092 };
93
94 static const struct resword wordlist[] =
95 {
Sam Ravnborgc40f5642005-12-26 22:53:25 +010096 {""}, {""}, {""},
Jan Beulich9bb48242008-12-16 11:30:08 +000097#line 28 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +010098 {"asm", ASM_KEYW},
99 {""},
Jan Beulich9bb48242008-12-16 11:30:08 +0000100#line 10 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100101 {"__asm", ASM_KEYW},
102 {""},
Jan Beulich9bb48242008-12-16 11:30:08 +0000103#line 11 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 {"__asm__", ASM_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200105 {""}, {""},
Jan Beulich9bb48242008-12-16 11:30:08 +0000106#line 54 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107 {"__typeof__", TYPEOF_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200108 {""},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100109#line 14 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000110 {"__const", CONST_KEYW},
111#line 13 "scripts/genksyms/keywords.gperf"
112 {"__attribute__", ATTRIBUTE_KEYW},
113#line 15 "scripts/genksyms/keywords.gperf"
114 {"__const__", CONST_KEYW},
115#line 20 "scripts/genksyms/keywords.gperf"
116 {"__signed__", SIGNED_KEYW},
117#line 46 "scripts/genksyms/keywords.gperf"
118 {"static", STATIC_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100119 {""},
Jan Beulich9bb48242008-12-16 11:30:08 +0000120#line 41 "scripts/genksyms/keywords.gperf"
121 {"int", INT_KEYW},
122#line 34 "scripts/genksyms/keywords.gperf"
123 {"char", CHAR_KEYW},
124#line 35 "scripts/genksyms/keywords.gperf"
125 {"const", CONST_KEYW},
126#line 47 "scripts/genksyms/keywords.gperf"
127 {"struct", STRUCT_KEYW},
128#line 26 "scripts/genksyms/keywords.gperf"
129 {"__restrict__", RESTRICT_KEYW},
130#line 27 "scripts/genksyms/keywords.gperf"
131 {"restrict", RESTRICT_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200132#line 7 "scripts/genksyms/keywords.gperf"
133 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
Jan Beulich9bb48242008-12-16 11:30:08 +0000134#line 18 "scripts/genksyms/keywords.gperf"
135 {"__inline__", INLINE_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200136 {""},
137#line 22 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000138 {"__volatile__", VOLATILE_KEYW},
139#line 5 "scripts/genksyms/keywords.gperf"
140 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
141#line 25 "scripts/genksyms/keywords.gperf"
142 {"_restrict", RESTRICT_KEYW},
143 {""},
144#line 12 "scripts/genksyms/keywords.gperf"
145 {"__attribute", ATTRIBUTE_KEYW},
146#line 6 "scripts/genksyms/keywords.gperf"
147 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
148#line 16 "scripts/genksyms/keywords.gperf"
149 {"__extension__", EXTENSION_KEYW},
150#line 37 "scripts/genksyms/keywords.gperf"
151 {"enum", ENUM_KEYW},
152#line 8 "scripts/genksyms/keywords.gperf"
153 {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW},
154#line 38 "scripts/genksyms/keywords.gperf"
155 {"extern", EXTERN_KEYW},
156 {""},
157#line 19 "scripts/genksyms/keywords.gperf"
158 {"__signed", SIGNED_KEYW},
159#line 9 "scripts/genksyms/keywords.gperf"
160 {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
161#line 49 "scripts/genksyms/keywords.gperf"
162 {"union", UNION_KEYW},
163#line 53 "scripts/genksyms/keywords.gperf"
164 {"typeof", TYPEOF_KEYW},
165#line 48 "scripts/genksyms/keywords.gperf"
166 {"typedef", TYPEDEF_KEYW},
167#line 17 "scripts/genksyms/keywords.gperf"
168 {"__inline", INLINE_KEYW},
169#line 33 "scripts/genksyms/keywords.gperf"
170 {"auto", AUTO_KEYW},
171#line 21 "scripts/genksyms/keywords.gperf"
172 {"__volatile", VOLATILE_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200173 {""}, {""},
Jan Beulich9bb48242008-12-16 11:30:08 +0000174#line 50 "scripts/genksyms/keywords.gperf"
175 {"unsigned", UNSIGNED_KEYW},
176 {""},
177#line 44 "scripts/genksyms/keywords.gperf"
178 {"short", SHORT_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200179#line 40 "scripts/genksyms/keywords.gperf"
Jan Beulich9bb48242008-12-16 11:30:08 +0000180 {"inline", INLINE_KEYW},
181 {""},
182#line 52 "scripts/genksyms/keywords.gperf"
183 {"volatile", VOLATILE_KEYW},
184#line 42 "scripts/genksyms/keywords.gperf"
185 {"long", LONG_KEYW},
186#line 24 "scripts/genksyms/keywords.gperf"
187 {"_Bool", BOOL_KEYW},
188 {""}, {""},
189#line 43 "scripts/genksyms/keywords.gperf"
190 {"register", REGISTER_KEYW},
191#line 51 "scripts/genksyms/keywords.gperf"
192 {"void", VOID_KEYW},
193#line 39 "scripts/genksyms/keywords.gperf"
194 {"float", FLOAT_KEYW},
195#line 36 "scripts/genksyms/keywords.gperf"
196 {"double", DOUBLE_KEYW},
197 {""}, {""}, {""}, {""},
198#line 45 "scripts/genksyms/keywords.gperf"
199 {"signed", SIGNED_KEYW}
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200 };
201
202 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
203 {
204 register int key = is_reserved_hash (str, len);
205
206 if (key <= MAX_HASH_VALUE && key >= 0)
207 {
208 register const char *s = wordlist[key].name;
209
210 if (*str == *s && !strcmp (str + 1, s + 1))
211 return &wordlist[key];
212 }
213 }
214 return 0;
215}