1 /* ANSI-C code produced by gperf version 3.0.1 */
2 /* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C ../../ecosboard/zpu/toolchain/gcc/gcc/cp/cfns.gperf */
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 "../../ecosboard/zpu/toolchain/gcc/gcc/cp/cfns.gperf"
32
33 #ifdef __GNUC__
34 __inline
35 #endif
36 static unsigned int hash (const char *, unsigned int);
37 #ifdef __GNUC__
38 __inline
39 #endif
40 const char * libc_name_p (const char *, unsigned int);
41 /* maximum key range = 391, duplicates = 0 */
42
43 #ifdef __GNUC__
44 __inline
45 #else
46 #ifdef __cplusplus
47 inline
48 #endif
49 #endif
50 static unsigned int
hash(register const char * str,register unsigned int len)51 hash (register const char *str, register unsigned int len)
52 {
53 static const unsigned short asso_values[] =
54 {
55 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
56 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
57 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
58 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
59 400, 400, 400, 400, 400, 400, 400, 400, 0, 0,
60 1, 400, 400, 400, 400, 400, 400, 400, 400, 400,
61 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
62 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
63 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
64 400, 400, 400, 400, 400, 400, 400, 28, 90, 0,
65 95, 0, 51, 93, 114, 26, 109, 124, 5, 1,
66 6, 13, 37, 128, 3, 0, 0, 49, 38, 0,
67 104, 45, 0, 400, 400, 400, 400, 400, 400, 400,
68 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
69 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
70 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
71 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
72 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
73 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
74 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
75 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
76 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
77 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
78 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
79 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
80 400, 400, 400, 400, 400, 400, 400
81 };
82 register int hval = len;
83
84 switch (hval)
85 {
86 default:
87 hval += asso_values[(unsigned char)str[5]+1];
88 /*FALLTHROUGH*/
89 case 5:
90 hval += asso_values[(unsigned char)str[4]];
91 /*FALLTHROUGH*/
92 case 4:
93 hval += asso_values[(unsigned char)str[3]];
94 /*FALLTHROUGH*/
95 case 3:
96 hval += asso_values[(unsigned char)str[2]];
97 /*FALLTHROUGH*/
98 case 2:
99 hval += asso_values[(unsigned char)str[1]];
100 /*FALLTHROUGH*/
101 case 1:
102 hval += asso_values[(unsigned char)str[0]];
103 break;
104 }
105 return hval + asso_values[(unsigned char)str[len - 1]];
106 }
107
108 #ifdef __GNUC__
109 __inline
110 #endif
111 const char *
libc_name_p(register const char * str,register unsigned int len)112 libc_name_p (register const char *str, register unsigned int len)
113 {
114 enum
115 {
116 TOTAL_KEYWORDS = 156,
117 MIN_WORD_LENGTH = 3,
118 MAX_WORD_LENGTH = 10,
119 MIN_HASH_VALUE = 9,
120 MAX_HASH_VALUE = 399
121 };
122
123 static const char * const wordlist[] =
124 {
125 "wcsstr",
126 "strstr",
127 "cos",
128 "towctrans",
129 "memmove",
130 "wcstol",
131 "wcscoll",
132 "wcstombs",
133 "strtol",
134 "strcoll",
135 "wcslen",
136 "time",
137 "ctime",
138 "strlen",
139 "iswctype",
140 "wmemchr",
141 "wcsrchr",
142 "ceil",
143 "sin",
144 "strrchr",
145 "tan",
146 "iscntrl",
147 "acos",
148 "wmemmove",
149 "wcsrtombs",
150 "wctrans",
151 "wmemcmp",
152 "pow",
153 "atol",
154 "wcsncmp",
155 "memset",
156 "free",
157 "strncmp",
158 "wmemset",
159 "wcsspn",
160 "wcstoul",
161 "strspn",
162 "strtoul",
163 "asctime",
164 "atan2",
165 "asin",
166 "atan",
167 "ferror",
168 "iswalnum",
169 "wcscat",
170 "realloc",
171 "strcat",
172 "wcscpy",
173 "memcpy",
174 "strcpy",
175 "tolower",
176 "floor",
177 "iswcntrl",
178 "atoi",
179 "clearerr",
180 "swscanf",
181 "wcsncat",
182 "islower",
183 "strncat",
184 "btowc",
185 "localtime",
186 "wctomb",
187 "isalnum",
188 "isprint",
189 "mblen",
190 "wcstod",
191 "log10",
192 "strtod",
193 "wcrtomb",
194 "abs",
195 "setlocale",
196 "wcschr",
197 "mbrlen",
198 "memchr",
199 "strchr",
200 "labs",
201 "iswpunct",
202 "exit",
203 "sqrt",
204 "swprintf",
205 "wctype",
206 "mbsrtowcs",
207 "wcscspn",
208 "getenv",
209 "strcspn",
210 "towlower",
211 "atof",
212 "wcstok",
213 "localeconv",
214 "strtok",
215 "calloc",
216 "malloc",
217 "isalpha",
218 "iswlower",
219 "iswspace",
220 "wcsxfrm",
221 "signal",
222 "strxfrm",
223 "wcsftime",
224 "feof",
225 "strftime",
226 "wcscmp",
227 "fabs",
228 "memcmp",
229 "strcmp",
230 "vsprintf",
231 "fwide",
232 "gmtime",
233 "sprintf",
234 "exp",
235 "wmemcpy",
236 "iswprint",
237 "sscanf",
238 "wcsncpy",
239 "strncpy",
240 "isspace",
241 "toupper",
242 "wctob",
243 "div",
244 "mbtowc",
245 "ldiv",
246 "log",
247 "mktime",
248 "isupper",
249 "atexit",
250 "modf",
251 "mbstowcs",
252 "mbrtowc",
253 "ispunct",
254 "iswalpha",
255 "setvbuf",
256 "rand",
257 "srand",
258 "frexp",
259 "towupper",
260 "mbsinit",
261 "cosh",
262 "vswprintf",
263 "iswupper",
264 "wcspbrk",
265 "fmod",
266 "strpbrk",
267 "sinh",
268 "tanh",
269 "iswdigit",
270 "clock",
271 "longjmp",
272 "ldexp",
273 "setbuf",
274 "fseek",
275 "iswgraph",
276 "difftime",
277 "iswxdigit",
278 "isdigit",
279 "isxdigit",
280 "isgraph"
281 };
282
283 static const short lookup[] =
284 {
285 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
286 -1, -1, 1, -1, -1, -1, 2, -1, -1, -1,
287 -1, -1, 3, 4, -1, 5, 6, 7, 8, 9,
288 10, 11, 12, 13, 14, -1, -1, -1, 15, 16,
289 17, 18, 19, 20, 21, 22, -1, -1, 23, 24,
290 -1, 25, 26, 27, -1, 28, 29, 30, 31, 32,
291 33, -1, 34, 35, -1, 36, 37, 38, -1, 39,
292 40, -1, 41, -1, -1, -1, -1, -1, -1, 42,
293 -1, 43, -1, 44, -1, 45, 46, -1, 47, -1,
294 48, 49, 50, 51, 52, -1, -1, 53, 54, 55,
295 -1, -1, -1, 56, -1, 57, 58, -1, 59, 60,
296 61, 62, 63, 64, 65, -1, 66, 67, -1, 68,
297 -1, 69, 70, 71, 72, 73, 74, 75, -1, -1,
298 -1, -1, -1, 76, 77, 78, -1, -1, 79, 80,
299 81, 82, -1, 83, 84, -1, 85, 86, 87, -1,
300 88, 89, 90, 91, -1, -1, -1, 92, -1, 93,
301 -1, 94, -1, 95, -1, 96, 97, -1, 98, -1,
302 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
303 -1, 109, 110, 111, 112, -1, 113, -1, -1, 114,
304 -1, -1, -1, 115, -1, -1, -1, 116, 117, -1,
305 118, -1, -1, -1, -1, 119, 120, 121, -1, 122,
306 123, -1, -1, 124, -1, 125, 126, -1, 127, -1,
307 128, -1, -1, 129, 130, -1, -1, -1, -1, -1,
308 -1, 131, 132, -1, -1, -1, -1, 133, 134, 135,
309 -1, -1, -1, -1, -1, 136, -1, 137, -1, -1,
310 -1, 138, -1, -1, -1, -1, -1, -1, 139, 140,
311 -1, 141, -1, -1, 142, -1, 143, -1, -1, 144,
312 -1, 145, -1, -1, -1, -1, 146, -1, -1, -1,
313 -1, -1, -1, 147, -1, -1, -1, -1, -1, 148,
314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
315 -1, -1, -1, -1, 149, -1, -1, -1, -1, -1,
316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
317 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
318 -1, -1, -1, -1, 150, -1, -1, -1, -1, -1,
319 151, -1, -1, 152, -1, -1, -1, -1, -1, -1,
320 -1, -1, -1, -1, -1, -1, 153, -1, -1, -1,
321 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
322 -1, -1, -1, 154, -1, -1, -1, -1, -1, -1,
323 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
324 -1, -1, -1, -1, -1, -1, -1, -1, -1, 155
325 };
326
327 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
328 {
329 register int key = hash (str, len);
330
331 if (key <= MAX_HASH_VALUE && key >= 0)
332 {
333 register int index = lookup[key];
334
335 if (index >= 0)
336 {
337 register const char *s = wordlist[index];
338
339 if (*str == *s && !strcmp (str + 1, s + 1))
340 return s;
341 }
342 }
343 }
344 return 0;
345 }
346