1178596Sraj/* ANSI-C code produced by gperf version 3.0.1 */
2178596Sraj/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C ../../gcc/gcc/cp/cfns.gperf  */
3178596Sraj
4178596Sraj#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5178596Sraj      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6178596Sraj      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7178596Sraj      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8178596Sraj      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9178596Sraj      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10178596Sraj      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11178596Sraj      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12178596Sraj      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13178596Sraj      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14178596Sraj      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15178596Sraj      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16178596Sraj      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17178596Sraj      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18178596Sraj      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19178596Sraj      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20178596Sraj      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21178596Sraj      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22178596Sraj      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23178596Sraj      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24178596Sraj      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25178596Sraj      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26178596Sraj      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27178596Sraj/* The character set is not based on ISO-646.  */
28178596Sraj#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
29178596Sraj#endif
30178596Sraj
31178596Sraj#line 1 "../../gcc/gcc/cp/cfns.gperf"
32209908Sraj
33209908Sraj#ifdef __GNUC__
34209908Sraj__inline
35178596Sraj#endif
36178597Srajstatic unsigned int hash (const char *, unsigned int);
37178597Sraj#ifdef __GNUC__
38178597Sraj__inline
39178596Sraj#endif
40178596Srajconst char * libc_name_p (const char *, unsigned int);
41234609Snwhitehorn/* maximum key range = 391, duplicates = 0 */
42178596Sraj
43178596Sraj#ifdef __GNUC__
44186227Sraj__inline
45178597Sraj#else
46178596Sraj#ifdef __cplusplus
47178596Srajinline
48178596Sraj#endif
49178596Sraj#endif
50186227Srajstatic unsigned int
51186227Srajhash (register const char *str, register unsigned int len)
52186227Sraj{
53186227Sraj  static const unsigned short asso_values[] =
54186227Sraj    {
55186227Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
56186227Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
57186227Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
58178596Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
59186227Sraj      400, 400, 400, 400, 400, 400, 400, 400,   0,   0,
60178596Sraj	1, 400, 400, 400, 400, 400, 400, 400, 400, 400,
61186227Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
62178596Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
63186227Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
64234579Snwhitehorn      400, 400, 400, 400, 400, 400, 400,  28,  90,   0,
65186227Sraj       95,   0,  51,  93, 114,  26, 109, 124,   5,   1,
66186227Sraj	6,  13,  37, 128,   3,   0,   0,  49,  38,   0,
67189757Sraj      104,  45,   0, 400, 400, 400, 400, 400, 400, 400,
68186288Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
69186288Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
70186288Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
71186288Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
72186288Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
73222428Smarcel      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
74222428Smarcel      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
75222428Smarcel      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
76222428Smarcel      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
77189757Sraj      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
78222428Smarcel      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
79222428Smarcel      400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
80186288Sraj      400, 400, 400, 400, 400, 400, 400
81186288Sraj    };
82186288Sraj  register int hval = len;
83186288Sraj
84186288Sraj  switch (hval)
85186288Sraj    {
86186288Sraj      default:
87186288Sraj	hval += asso_values[(unsigned char)str[5]+1];
88186288Sraj      /*FALLTHROUGH*/
89186288Sraj      case 5:
90186288Sraj	hval += asso_values[(unsigned char)str[4]];
91235934Smarcel      /*FALLTHROUGH*/
92235934Smarcel      case 4:
93235934Smarcel	hval += asso_values[(unsigned char)str[3]];
94186288Sraj      /*FALLTHROUGH*/
95186288Sraj      case 3:
96186288Sraj	hval += asso_values[(unsigned char)str[2]];
97186288Sraj      /*FALLTHROUGH*/
98186288Sraj      case 2:
99186288Sraj	hval += asso_values[(unsigned char)str[1]];
100186288Sraj      /*FALLTHROUGH*/
101186288Sraj      case 1:
102186288Sraj	hval += asso_values[(unsigned char)str[0]];
103186288Sraj	break;
104186288Sraj    }
105186288Sraj  return hval + asso_values[(unsigned char)str[len - 1]];
106186288Sraj}
107186288Sraj
108186288Sraj#ifdef __GNUC__
109186288Sraj__inline
110186288Sraj#endif
111186288Srajconst char *
112186288Srajlibc_name_p (register const char *str, register unsigned int len)
113186288Sraj{
114186288Sraj  enum
115186288Sraj    {
116186288Sraj      TOTAL_KEYWORDS = 156,
117186288Sraj      MIN_WORD_LENGTH = 3,
118186288Sraj      MAX_WORD_LENGTH = 10,
119186288Sraj      MIN_HASH_VALUE = 9,
120186288Sraj      MAX_HASH_VALUE = 399
121186288Sraj    };
122186288Sraj
123186288Sraj  static const char * const wordlist[] =
124186288Sraj    {
125186288Sraj      "wcsstr",
126186288Sraj      "strstr",
127186288Sraj      "cos",
128186288Sraj      "towctrans",
129186288Sraj      "memmove",
130186288Sraj      "wcstol",
131186288Sraj      "wcscoll",
132186288Sraj      "wcstombs",
133186288Sraj      "strtol",
134186288Sraj      "strcoll",
135186288Sraj      "wcslen",
136186288Sraj      "time",
137186288Sraj      "ctime",
138186288Sraj      "strlen",
139209908Sraj      "iswctype",
140209908Sraj      "wmemchr",
141209908Sraj      "wcsrchr",
142209908Sraj      "ceil",
143209908Sraj      "sin",
144209908Sraj      "strrchr",
145209908Sraj      "tan",
146209908Sraj      "iscntrl",
147209908Sraj      "acos",
148209908Sraj      "wmemmove",
149209908Sraj      "wcsrtombs",
150209908Sraj      "wctrans",
151209908Sraj      "wmemcmp",
152209908Sraj      "pow",
153209908Sraj      "atol",
154209908Sraj      "wcsncmp",
155209908Sraj      "memset",
156209908Sraj      "free",
157209908Sraj      "strncmp",
158209908Sraj      "wmemset",
159209908Sraj      "wcsspn",
160222428Smarcel      "wcstoul",
161222428Smarcel      "strspn",
162222428Smarcel      "strtoul",
163209908Sraj      "asctime",
164222428Smarcel      "atan2",
165222428Smarcel      "asin",
166222428Smarcel      "atan",
167222428Smarcel      "ferror",
168209908Sraj      "iswalnum",
169222428Smarcel      "wcscat",
170209908Sraj      "realloc",
171209908Sraj      "strcat",
172209908Sraj      "wcscpy",
173209908Sraj      "memcpy",
174235934Smarcel      "strcpy",
175235934Smarcel      "tolower",
176235934Smarcel      "floor",
177235934Smarcel      "iswcntrl",
178209908Sraj      "atoi",
179209908Sraj      "clearerr",
180209908Sraj      "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