blob: 971e0113ae7a9a52e384df3cb5b51d6be276f8fb [file] [log] [blame]
Sam Ravnborg70f75242007-09-01 10:26:32 +02001/* 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 Ravnborg70f75242007-09-01 10:26:32 +020035/* 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 Ravnborg70f75242007-09-01 10:26:32 +020049 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 Ravnborg70f75242007-09-01 10:26:32 +020087 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 Ravnborg70f75242007-09-01 10:26:32 +020091 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 Ravnborg70f75242007-09-01 10:26:32 +020097#line 26 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +010098 {"asm", ASM_KEYW},
99 {""},
Greg Kroah-Hartman9f28bb72006-03-20 13:17:13 -0800100#line 8 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100101 {"__asm", ASM_KEYW},
102 {""},
Greg Kroah-Hartman9f28bb72006-03-20 13:17:13 -0800103#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 {""}, {""},
106#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 {""},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100109#line 12 "scripts/genksyms/keywords.gperf"
Greg Kroah-Hartman9f28bb72006-03-20 13:17:13 -0800110 {"__const", CONST_KEYW},
111#line 11 "scripts/genksyms/keywords.gperf"
112 {"__attribute__", ATTRIBUTE_KEYW},
113#line 13 "scripts/genksyms/keywords.gperf"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114 {"__const__", CONST_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100115#line 18 "scripts/genksyms/keywords.gperf"
Sam Ravnborg70f75242007-09-01 10:26:32 +0200116 {"__signed__", SIGNED_KEYW},
117#line 44 "scripts/genksyms/keywords.gperf"
118 {"static", STATIC_KEYW},
119#line 20 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100120 {"__volatile__", VOLATILE_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200121#line 39 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100122 {"int", INT_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100123#line 32 "scripts/genksyms/keywords.gperf"
Sam Ravnborg70f75242007-09-01 10:26:32 +0200124 {"char", CHAR_KEYW},
Greg Kroah-Hartman9f28bb72006-03-20 13:17:13 -0800125#line 33 "scripts/genksyms/keywords.gperf"
Sam Ravnborg70f75242007-09-01 10:26:32 +0200126 {"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},
135#line 16 "scripts/genksyms/keywords.gperf"
136 {"__inline__", INLINE_KEYW},
137#line 10 "scripts/genksyms/keywords.gperf"
138 {"__attribute", ATTRIBUTE_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100139 {""},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100140#line 14 "scripts/genksyms/keywords.gperf"
Sam Ravnborg70f75242007-09-01 10:26:32 +0200141 {"__extension__", EXTENSION_KEYW},
142#line 35 "scripts/genksyms/keywords.gperf"
143 {"enum", ENUM_KEYW},
144#line 19 "scripts/genksyms/keywords.gperf"
145 {"__volatile", VOLATILE_KEYW},
146#line 36 "scripts/genksyms/keywords.gperf"
147 {"extern", EXTERN_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100148 {""},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200149#line 17 "scripts/genksyms/keywords.gperf"
150 {"__signed", SIGNED_KEYW},
151#line 7 "scripts/genksyms/keywords.gperf"
152 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100153 {""},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200154#line 51 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100155 {"typeof", TYPEOF_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200156#line 46 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100157 {"typedef", TYPEDEF_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200158#line 15 "scripts/genksyms/keywords.gperf"
159 {"__inline", INLINE_KEYW},
160#line 31 "scripts/genksyms/keywords.gperf"
161 {"auto", AUTO_KEYW},
162#line 47 "scripts/genksyms/keywords.gperf"
163 {"union", UNION_KEYW},
164 {""}, {""},
165#line 48 "scripts/genksyms/keywords.gperf"
166 {"unsigned", UNSIGNED_KEYW},
Greg Kroah-Hartman9f28bb72006-03-20 13:17:13 -0800167#line 49 "scripts/genksyms/keywords.gperf"
Sam Ravnborg70f75242007-09-01 10:26:32 +0200168 {"void", VOID_KEYW},
169#line 42 "scripts/genksyms/keywords.gperf"
170 {"short", SHORT_KEYW},
171 {""}, {""},
172#line 50 "scripts/genksyms/keywords.gperf"
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100173 {"volatile", VOLATILE_KEYW},
174 {""},
Greg Kroah-Hartman9f28bb72006-03-20 13:17:13 -0800175#line 37 "scripts/genksyms/keywords.gperf"
Sam Ravnborg70f75242007-09-01 10:26:32 +0200176 {"float", FLOAT_KEYW},
177#line 34 "scripts/genksyms/keywords.gperf"
178 {"double", DOUBLE_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100179 {""},
180#line 5 "scripts/genksyms/keywords.gperf"
181 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200182 {""}, {""},
183#line 38 "scripts/genksyms/keywords.gperf"
184 {"inline", INLINE_KEYW},
Sam Ravnborgc40f5642005-12-26 22:53:25 +0100185#line 6 "scripts/genksyms/keywords.gperf"
186 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
Sam Ravnborg70f75242007-09-01 10:26:32 +0200187#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}