OSDN Git Service

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