OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [cp/] [cfns.h] - Blame information for rev 710

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.