blob: 8060e06798b32990c58bba036161f01a74f3b789 [file] [log] [blame]
Jan Beulich6299fee2009-12-05 20:20:50 +00001/* ANSI-C code produced by gperf version 3.0.4 */
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
Josh Tripletted9df092009-10-15 12:58:40 -070033struct resword;
34static const struct resword *is_reserved_word(register const char *str, register unsigned int len);
35#line 5 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -070036struct resword { const char *name; int token; };
Jan Beulich6299fee2009-12-05 20:20:50 +000037/* maximum key range = 64, duplicates = 0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070038
39#ifdef __GNUC__
40__inline
41#else
42#ifdef __cplusplus
43inline
44#endif
45#endif
46static unsigned int
47is_reserved_hash (register const char *str, register unsigned int len)
48{
49 static const unsigned char asso_values[] =
50 {
Jan Beulich6299fee2009-12-05 20:20:50 +000051 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, 67,
56 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
57 67, 67, 67, 67, 67, 67, 67, 67, 67, 0,
58 67, 67, 67, 67, 67, 67, 15, 67, 67, 67,
59 0, 67, 67, 67, 67, 67, 67, 67, 67, 67,
60 67, 67, 67, 67, 67, 0, 67, 0, 67, 5,
61 25, 20, 15, 30, 67, 15, 67, 67, 10, 0,
62 10, 40, 20, 67, 10, 5, 0, 10, 15, 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, 67, 67, 67, 67,
75 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
76 67, 67, 67, 67, 67, 67
Linus Torvalds1da177e2005-04-16 15:20:36 -070077 };
78 return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]];
79}
80
81#ifdef __GNUC__
82__inline
Jan Beulich6299fee2009-12-05 20:20:50 +000083#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
Josh Tripletted9df092009-10-15 12:58:40 -070084__attribute__ ((__gnu_inline__))
85#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070086#endif
87const struct resword *
88is_reserved_word (register const char *str, register unsigned int len)
89{
90 enum
91 {
Jan Beulich6299fee2009-12-05 20:20:50 +000092 TOTAL_KEYWORDS = 45,
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 MIN_WORD_LENGTH = 3,
Greg Kroah-Hartman9f28bb72006-03-20 13:17:13 -080094 MAX_WORD_LENGTH = 24,
Sam Ravnborgc40f5642005-12-26 22:53:25 +010095 MIN_HASH_VALUE = 3,
Jan Beulich6299fee2009-12-05 20:20:50 +000096 MAX_HASH_VALUE = 66
Linus Torvalds1da177e2005-04-16 15:20:36 -070097 };
98
99 static const struct resword wordlist[] =
100 {
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100101 {""}, {""}, {""},
Jan Beulich6299fee2009-12-05 20:20:50 +0000102#line 30 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100103 {"asm", ASM_KEYW},
104 {""},
Jan Beulich6299fee2009-12-05 20:20:50 +0000105#line 12 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100106 {"__asm", ASM_KEYW},
107 {""},
Jan Beulich6299fee2009-12-05 20:20:50 +0000108#line 13 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109 {"__asm__", ASM_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200110 {""}, {""},
Jan Beulich6299fee2009-12-05 20:20:50 +0000111#line 56 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112 {"__typeof__", TYPEOF_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200113 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700114#line 16 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000115 {"__const", CONST_KEYW},
116#line 15 "scripts/genksyms/keywords.gperf"
117 {"__attribute__", ATTRIBUTE_KEYW},
118#line 17 "scripts/genksyms/keywords.gperf"
119 {"__const__", CONST_KEYW},
120#line 22 "scripts/genksyms/keywords.gperf"
121 {"__signed__", SIGNED_KEYW},
122#line 48 "scripts/genksyms/keywords.gperf"
123 {"static", STATIC_KEYW},
Jan Beulich9bb48242008-12-16 11:30:08 +0000124 {""},
Jan Beulich6299fee2009-12-05 20:20:50 +0000125#line 43 "scripts/genksyms/keywords.gperf"
126 {"int", INT_KEYW},
127#line 36 "scripts/genksyms/keywords.gperf"
128 {"char", CHAR_KEYW},
129#line 37 "scripts/genksyms/keywords.gperf"
130 {"const", CONST_KEYW},
131#line 49 "scripts/genksyms/keywords.gperf"
132 {"struct", STRUCT_KEYW},
133#line 28 "scripts/genksyms/keywords.gperf"
134 {"__restrict__", RESTRICT_KEYW},
135#line 29 "scripts/genksyms/keywords.gperf"
136 {"restrict", RESTRICT_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700137#line 9 "scripts/genksyms/keywords.gperf"
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100138 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
Jan Beulich6299fee2009-12-05 20:20:50 +0000139#line 20 "scripts/genksyms/keywords.gperf"
140 {"__inline__", INLINE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100141 {""},
Josh Tripletted9df092009-10-15 12:58:40 -0700142#line 24 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000143 {"__volatile__", VOLATILE_KEYW},
144#line 7 "scripts/genksyms/keywords.gperf"
145 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
146#line 27 "scripts/genksyms/keywords.gperf"
147 {"_restrict", RESTRICT_KEYW},
148 {""},
149#line 14 "scripts/genksyms/keywords.gperf"
150 {"__attribute", ATTRIBUTE_KEYW},
151#line 8 "scripts/genksyms/keywords.gperf"
152 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
153#line 18 "scripts/genksyms/keywords.gperf"
154 {"__extension__", EXTENSION_KEYW},
155#line 39 "scripts/genksyms/keywords.gperf"
156 {"enum", ENUM_KEYW},
157#line 10 "scripts/genksyms/keywords.gperf"
158 {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW},
159#line 40 "scripts/genksyms/keywords.gperf"
160 {"extern", EXTERN_KEYW},
161 {""},
162#line 21 "scripts/genksyms/keywords.gperf"
163 {"__signed", SIGNED_KEYW},
164#line 11 "scripts/genksyms/keywords.gperf"
165 {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
166#line 51 "scripts/genksyms/keywords.gperf"
167 {"union", UNION_KEYW},
168#line 55 "scripts/genksyms/keywords.gperf"
169 {"typeof", TYPEOF_KEYW},
170#line 50 "scripts/genksyms/keywords.gperf"
171 {"typedef", TYPEDEF_KEYW},
172#line 19 "scripts/genksyms/keywords.gperf"
173 {"__inline", INLINE_KEYW},
174#line 35 "scripts/genksyms/keywords.gperf"
175 {"auto", AUTO_KEYW},
176#line 23 "scripts/genksyms/keywords.gperf"
177 {"__volatile", VOLATILE_KEYW},
Sam Ravnborg2ea03892009-01-14 21:38:20 +0100178 {""}, {""},
Jan Beulich6299fee2009-12-05 20:20:50 +0000179#line 52 "scripts/genksyms/keywords.gperf"
180 {"unsigned", UNSIGNED_KEYW},
181 {""},
182#line 46 "scripts/genksyms/keywords.gperf"
183 {"short", SHORT_KEYW},
Josh Tripletted9df092009-10-15 12:58:40 -0700184#line 42 "scripts/genksyms/keywords.gperf"
Jan Beulich6299fee2009-12-05 20:20:50 +0000185 {"inline", INLINE_KEYW},
186 {""},
187#line 54 "scripts/genksyms/keywords.gperf"
188 {"volatile", VOLATILE_KEYW},
189#line 44 "scripts/genksyms/keywords.gperf"
190 {"long", LONG_KEYW},
191#line 26 "scripts/genksyms/keywords.gperf"
192 {"_Bool", BOOL_KEYW},
193 {""}, {""},
194#line 45 "scripts/genksyms/keywords.gperf"
195 {"register", REGISTER_KEYW},
196#line 53 "scripts/genksyms/keywords.gperf"
197 {"void", VOID_KEYW},
198#line 41 "scripts/genksyms/keywords.gperf"
199 {"float", FLOAT_KEYW},
200#line 38 "scripts/genksyms/keywords.gperf"
201 {"double", DOUBLE_KEYW},
202 {""}, {""}, {""}, {""},
203#line 47 "scripts/genksyms/keywords.gperf"
204 {"signed", SIGNED_KEYW}
Linus Torvalds1da177e2005-04-16 15:20:36 -0700205 };
206
207 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
208 {
209 register int key = is_reserved_hash (str, len);
210
211 if (key <= MAX_HASH_VALUE && key >= 0)
212 {
213 register const char *s = wordlist[key].name;
214
215 if (*str == *s && !strcmp (str + 1, s + 1))
216 return &wordlist[key];
217 }
218 }
219 return 0;
220}