| /* C code produced by gperf version 2.7 */ |
| /* Command-line: gperf -o -C -E -k 1-6,$ -j1 -D -N libc_name_p ../../../egcs-CVS20000404/gcc/cp/cfns.gperf */ |
| #ifdef __GNUC__ |
| __inline |
| #endif |
| static unsigned int hash PARAMS ((const char *, unsigned int)); |
| #ifdef __GNUC__ |
| __inline |
| #endif |
| const char * libc_name_p PARAMS ((const char *, unsigned int)); |
| /* maximum key range = 1020, duplicates = 1 */ |
| |
| #ifdef __GNUC__ |
| __inline |
| #endif |
| static unsigned int |
| hash (str, len) |
| register const char *str; |
| register unsigned int len; |
| { |
| static const unsigned short asso_values[] = |
| { |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 0, 1, |
| 0, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 247, 218, 144, |
| 0, 0, 40, 7, 126, 184, 2, 15, 146, 67, |
| 9, 60, 0, 0, 3, 0, 7, 8, 197, 1, |
| 40, 8, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, |
| 1038, 1038, 1038, 1038, 1038, 1038 |
| }; |
| register int hval = len; |
| |
| switch (hval) |
| { |
| default: |
| case 6: |
| hval += asso_values[(unsigned char)str[5]]; |
| case 5: |
| hval += asso_values[(unsigned char)str[4]]; |
| case 4: |
| hval += asso_values[(unsigned char)str[3]]; |
| case 3: |
| hval += asso_values[(unsigned char)str[2]]; |
| case 2: |
| hval += asso_values[(unsigned char)str[1]]; |
| case 1: |
| hval += asso_values[(unsigned char)str[0]]; |
| break; |
| } |
| return hval + asso_values[(unsigned char)str[len - 1]]; |
| } |
| |
| #ifdef __GNUC__ |
| __inline |
| #endif |
| const char * |
| libc_name_p (str, len) |
| register const char *str; |
| register unsigned int len; |
| { |
| enum |
| { |
| TOTAL_KEYWORDS = 207, |
| MIN_WORD_LENGTH = 3, |
| MAX_WORD_LENGTH = 10, |
| MIN_HASH_VALUE = 18, |
| MAX_HASH_VALUE = 1037 |
| }; |
| |
| static const char * const wordlist[] = |
| { |
| "gets", |
| "puts", |
| "sqrt", |
| "strerror", |
| "strstr", |
| "strspn", |
| "exp", |
| "free", |
| "fgets", |
| "fputs", |
| "fgetws", |
| "fputws", |
| "pow", |
| "fseek", |
| "perror", |
| "strtod", |
| "toupper", |
| "towupper", |
| "frexp", |
| "strtok", |
| "fsetpos", |
| "ferror", |
| "freopen", |
| "fgetpos", |
| "fopen", |
| "wmemset", |
| "memset", |
| "system", |
| "wcsstr", |
| "wctype", |
| "strxfrm", |
| "wcsspn", |
| "strcspn", |
| "fmod", |
| "strcpy", |
| "strncpy", |
| "strlen", |
| "ungetwc", |
| "feof", |
| "ldexp", |
| "isupper", |
| "rewind", |
| "iswupper", |
| "sin", |
| "cos", |
| "modf", |
| "iswpunct", |
| "wcstod", |
| "log10", |
| "log", |
| "wcsrtombs", |
| "strcmp", |
| "fwide", |
| "towctrans", |
| "strncmp", |
| "strtoul", |
| "fwrite", |
| "exit", |
| "swprintf", |
| "wcstok", |
| "strftime", |
| "sprintf", |
| "wprintf", |
| "strpbrk", |
| "time", |
| "rand", |
| "srand", |
| "wmemmove", |
| "tan", |
| "tolower", |
| "fwprintf", |
| "towlower", |
| "wcstombs", |
| "printf", |
| "fprintf", |
| "strchr", |
| "strrchr", |
| "wmemcpy", |
| "fread", |
| "getwchar", |
| "putwchar", |
| "longjmp", |
| "memcpy", |
| "wcsxfrm", |
| "wcscspn", |
| "getc", |
| "putc", |
| "getwc", |
| "putwc", |
| "wcscpy", |
| "wcsncpy", |
| "wcslen", |
| "floor", |
| "setbuf", |
| "ungetc", |
| "rename", |
| "remove", |
| "gmtime", |
| "mktime", |
| "fgetc", |
| "fputc", |
| "fgetwc", |
| "fputwc", |
| "memcmp", |
| "iswctype", |
| "wmemcmp", |
| "ispunct", |
| "mbstowcs", |
| "wcscmp", |
| "mbsrtowcs", |
| "setlocale", |
| "wcsncmp", |
| "wcstoul", |
| "strtol", |
| "wcsftime", |
| "iswprint", |
| "wcspbrk", |
| "iswdigit", |
| "isprint", |
| "fclose", |
| "atof", |
| "islower", |
| "iswlower", |
| "ctime", |
| "wmemchr", |
| "memchr", |
| "wctrans", |
| "strcat", |
| "getenv", |
| "strncat", |
| "iswxdigit", |
| "wcschr", |
| "wcsrchr", |
| "isxdigit", |
| "vswprintf", |
| "raise", |
| "iswspace", |
| "vsprintf", |
| "vwprintf", |
| "vprintf", |
| "swscanf", |
| "sinh", |
| "tmpfile", |
| "asin", |
| "mblen", |
| "acos", |
| "mbrlen", |
| "cosh", |
| "difftime", |
| "memmove", |
| "abs", |
| "tmpnam", |
| "vfwprintf", |
| "setvbuf", |
| "vfprintf", |
| "scanf", |
| "sscanf", |
| "wscanf", |
| "fwscanf", |
| "ftell", |
| "fflush", |
| "atexit", |
| "iswcntrl", |
| "iscntrl", |
| "mbrtowc", |
| "wcrtomb", |
| "fabs", |
| "wcstol", |
| "strcoll", |
| "atan2", |
| "tanh", |
| "atan", |
| "fscanf", |
| "clock", |
| "getchar", |
| "putchar", |
| "abort", |
| "clearerr", |
| "wcscat", |
| "wcsncat", |
| "isdigit", |
| "isgraph", |
| "iswgraph", |
| "btowc", |
| "div", |
| "isspace", |
| "atol", |
| "labs", |
| "ceil", |
| "mbtowc", |
| "wcscoll", |
| "wctob", |
| "asctime", |
| "iswalnum", |
| "isalnum", |
| "mbsinit", |
| "atoi", |
| "wctomb", |
| "ldiv", |
| "signal", |
| "realloc", |
| "localtime", |
| "iswalpha", |
| "localeconv", |
| "isalpha", |
| "malloc", |
| "calloc" |
| }; |
| |
| static const short lookup[] = |
| { |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 0, 1, -1, 2, -1, -1, |
| -1, -1, -1, 3, -1, 4, -1, -1, |
| -1, -1, 5, -1, -1, -1, -1, -1, |
| -1, -1, -1, 6, -1, -1, -1, 7, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, 8, 9, 10, 11, -1, |
| -1, 12, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, 13, -1, -1, 14, -1, |
| -1, -1, -1, 15, -1, 16, -1, 17, |
| 18, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 19, 20, -1, -1, -1, 21, 22, |
| -1, 23, -1, 24, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 25, -1, -1, |
| -1, -1, 26, 27, -1, -1, -1, -1, |
| -1, -1, -1, -1, 28, -1, 29, 30, |
| -1, 31, 32, 33, -1, -1, -1, -1, |
| 34, -1, 35, -1, 36, -1, -1, 37, |
| 38, -1, -1, -1, -1, -1, -1, 39, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 40, 41, 42, 43, -1, 44, |
| -1, -1, -1, 45, -1, -1, -1, -1, |
| -1, 46, 47, 48, -1, -1, -1, 49, |
| 50, -1, -1, 51, -1, -1, 52, 53, |
| -1, -1, -1, -1, -1, 54, 55, -1, |
| -1, 56, 57, -1, -1, 58, -1, -1, |
| 59, 60, 61, 62, -1, 63, -1, -1, |
| -1, -1, -1, -1, -1, -1, 64, 65, |
| 66, -1, -1, -1, -1, -1, 67, -1, |
| -1, -1, -1, 68, -1, -1, -1, -1, |
| -1, -1, -1, -1, 69, 70, 71, 72, |
| -1, 73, 74, -1, 75, 76, 77, 78, |
| 79, 80, 81, -1, 82, -1, 83, -1, |
| -1, 84, 85, 86, 87, 88, -1, 89, |
| -1, 90, -1, 91, -1, 92, -1, 93, |
| -1, -1, -1, -1, -1, 94, -1, -1, |
| -1, -1, -1, -1, 95, 96, -1, -1, |
| -1, -1, 97, -1, -1, -1, -1, -1, |
| -1, -1, 98, 99, 100, 101, 102, 103, |
| 104, 105, -1, -1, -1, -1, -1, 106, |
| -1, 107, 108, -1, 109, -1, 110, -1, |
| -1, -1, -1, -1, 111, 112, -1, 113, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| 114, -1, -1, 115, 116, -1, -1, 117, |
| -1, -1, 118, -1, 119, -1, 120, -1, |
| -1, 121, -1, 122, -1, -1, -1, 123, |
| -1, -1, -1, -1, -1, -1, -1, 124, |
| 125, -1, 126, -1, -1, 127, -1, 128, |
| 129, 130, -1, 131, 132, -1, 133, -1, |
| -1, -1, 134, -1, -1, -1, -1, 135, |
| 136, 137, 138, -1, -1, -1, -1, 139, |
| 140, 141, -1, 142, -1, 143, 144, 145, |
| -1, -1, 146, -1, 147, -1, -1, 148, |
| -1, 149, -1, -1, 150, -1, 151, -1, |
| -1, -1, 152, -1, -1, 153, -1, -1, |
| -1, 154, -1, -1, -1, 155, 156, 157, |
| 158, -1, 159, -1, 160, -1, -1, -1, |
| -1, -1, 161, 162, 163, -1, -1, -1, |
| -1, -1, -1, -719, -1, 166, 167, -43, |
| -2, 168, -1, 169, -1, -1, -1, 170, |
| -1, -1, -1, 171, -1, -1, 172, -1, |
| -1, 173, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 174, 175, -1, |
| -1, -1, -1, 176, -1, -1, -1, 177, |
| -1, -1, -1, -1, 178, -1, -1, 179, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 180, 181, -1, |
| 182, -1, -1, 183, -1, 184, 185, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 186, -1, -1, -1, -1, 187, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| 188, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 189, |
| 190, -1, -1, -1, -1, 191, -1, -1, |
| 192, -1, -1, -1, -1, -1, 193, -1, |
| -1, -1, -1, -1, 194, -1, -1, -1, |
| -1, -1, -1, -1, 195, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, 196, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 197, -1, -1, -1, -1, -1, -1, |
| 198, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 199, -1, -1, -1, -1, -1, -1, |
| -1, 200, -1, -1, -1, -1, -1, 201, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 202, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, 203, -1, |
| -1, -1, -1, -1, -1, 204, -1, -1, |
| 205, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 206 |
| }; |
| |
| if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) |
| { |
| register int key = hash (str, len); |
| |
| if (key <= MAX_HASH_VALUE && key >= 0) |
| { |
| register int index = lookup[key]; |
| |
| if (index >= 0) |
| { |
| register const char *s = wordlist[index]; |
| |
| if (*str == *s && !strcmp (str + 1, s + 1)) |
| return s; |
| } |
| else if (index < -TOTAL_KEYWORDS) |
| { |
| register int offset = - 1 - TOTAL_KEYWORDS - index; |
| register const char * const *wordptr = &wordlist[TOTAL_KEYWORDS + lookup[offset]]; |
| register const char * const *wordendptr = wordptr + -lookup[offset + 1]; |
| |
| while (wordptr < wordendptr) |
| { |
| register const char *s = *wordptr; |
| |
| if (*str == *s && !strcmp (str + 1, s + 1)) |
| return s; |
| wordptr++; |
| } |
| } |
| } |
| } |
| return 0; |
| } |