allow stripping of generated symbols under CONFIG_KALLSYMS_ALL
[linux-2.6-block.git] / scripts / genksyms / keywords.c_shipped
CommitLineData
9bb48247 1/* ANSI-C code produced by gperf version 3.0.1 */
1da177e4 2/* 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 */
c40f5640
SR
3
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"
1da177e4 34struct resword { const char *name; int token; };
9bb48247 35/* maximum key range = 64, duplicates = 0 */
1da177e4
LT
36
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 {
9bb48247
JB
49 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
1da177e4
LT
75 };
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 {
9bb48247 87 TOTAL_KEYWORDS = 45,
1da177e4 88 MIN_WORD_LENGTH = 3,
9f28bb7e 89 MAX_WORD_LENGTH = 24,
c40f5640 90 MIN_HASH_VALUE = 3,
9bb48247 91 MAX_HASH_VALUE = 66
1da177e4
LT
92 };
93
94 static const struct resword wordlist[] =
95 {
c40f5640 96 {""}, {""}, {""},
9bb48247 97#line 28 "scripts/genksyms/keywords.gperf"
c40f5640
SR
98 {"asm", ASM_KEYW},
99 {""},
9bb48247 100#line 10 "scripts/genksyms/keywords.gperf"
c40f5640
SR
101 {"__asm", ASM_KEYW},
102 {""},
9bb48247 103#line 11 "scripts/genksyms/keywords.gperf"
1da177e4 104 {"__asm__", ASM_KEYW},
70f75246 105 {""}, {""},
9bb48247 106#line 54 "scripts/genksyms/keywords.gperf"
1da177e4 107 {"__typeof__", TYPEOF_KEYW},
70f75246 108 {""},
9bb48247 109#line 14 "scripts/genksyms/keywords.gperf"
c40f5640 110 {"__const", CONST_KEYW},
9f28bb7e 111#line 13 "scripts/genksyms/keywords.gperf"
9bb48247
JB
112 {"__attribute__", ATTRIBUTE_KEYW},
113#line 15 "scripts/genksyms/keywords.gperf"
c40f5640 114 {"__const__", CONST_KEYW},
9bb48247 115#line 20 "scripts/genksyms/keywords.gperf"
c40f5640 116 {"__signed__", SIGNED_KEYW},
9bb48247 117#line 46 "scripts/genksyms/keywords.gperf"
c40f5640 118 {"static", STATIC_KEYW},
9bb48247
JB
119 {""},
120#line 41 "scripts/genksyms/keywords.gperf"
70f75246 121 {"int", INT_KEYW},
9bb48247 122#line 34 "scripts/genksyms/keywords.gperf"
c40f5640 123 {"char", CHAR_KEYW},
9bb48247 124#line 35 "scripts/genksyms/keywords.gperf"
70f75246 125 {"const", CONST_KEYW},
9bb48247 126#line 47 "scripts/genksyms/keywords.gperf"
c40f5640 127 {"struct", STRUCT_KEYW},
9bb48247 128#line 26 "scripts/genksyms/keywords.gperf"
70f75246 129 {"__restrict__", RESTRICT_KEYW},
9bb48247 130#line 27 "scripts/genksyms/keywords.gperf"
c40f5640 131 {"restrict", RESTRICT_KEYW},
9bb48247
JB
132#line 7 "scripts/genksyms/keywords.gperf"
133 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
134#line 18 "scripts/genksyms/keywords.gperf"
70f75246 135 {"__inline__", INLINE_KEYW},
70f75246 136 {""},
9bb48247
JB
137#line 22 "scripts/genksyms/keywords.gperf"
138 {"__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"
70f75246 149 {"__extension__", EXTENSION_KEYW},
9bb48247 150#line 37 "scripts/genksyms/keywords.gperf"
c40f5640 151 {"enum", ENUM_KEYW},
9bb48247
JB
152#line 8 "scripts/genksyms/keywords.gperf"
153 {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW},
154#line 38 "scripts/genksyms/keywords.gperf"
c40f5640 155 {"extern", EXTERN_KEYW},
70f75246 156 {""},
9bb48247 157#line 19 "scripts/genksyms/keywords.gperf"
70f75246 158 {"__signed", SIGNED_KEYW},
9bb48247
JB
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"
70f75246 164 {"typeof", TYPEOF_KEYW},
9bb48247 165#line 48 "scripts/genksyms/keywords.gperf"
70f75246 166 {"typedef", TYPEDEF_KEYW},
9bb48247 167#line 17 "scripts/genksyms/keywords.gperf"
1da177e4 168 {"__inline", INLINE_KEYW},
9bb48247 169#line 33 "scripts/genksyms/keywords.gperf"
c40f5640 170 {"auto", AUTO_KEYW},
9bb48247
JB
171#line 21 "scripts/genksyms/keywords.gperf"
172 {"__volatile", VOLATILE_KEYW},
70f75246 173 {""}, {""},
9f28bb7e 174#line 50 "scripts/genksyms/keywords.gperf"
9bb48247 175 {"unsigned", UNSIGNED_KEYW},
1da177e4 176 {""},
9bb48247
JB
177#line 44 "scripts/genksyms/keywords.gperf"
178 {"short", SHORT_KEYW},
179#line 40 "scripts/genksyms/keywords.gperf"
70f75246 180 {"inline", INLINE_KEYW},
70f75246 181 {""},
9bb48247
JB
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"
70f75246 187 {"_Bool", BOOL_KEYW},
70f75246 188 {""}, {""},
9bb48247
JB
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}
1da177e4
LT
200 };
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}